Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 07, 2019 11:02 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 98 posts ]  Go to page Previous 1 2 3 4 57 Next
Author Message
PostPosted: Fri Oct 07, 2011 6:52 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
IgorA, после включения проверки будет один коммит, который приведёт всё к узаконенному стилю и который не будет изменять функциональность. ВебЛомастер тут ни при чём, это довольно банальная замена по регулярному выражению, с которой на ура справляются стандартные юниксовые средства.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Fri Oct 07, 2011 6:59 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Легче потратить один день и отформатировать весь код. И не нужно лишних телодвижений в будущем.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.

_________________
in code we trust


Top
   
PostPosted: Fri Oct 07, 2011 6:59 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Легче потратить один день и отформатировать весь код. И не нужно лишних телодвижений в будущем.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.

_________________
in code we trust


Top
   
PostPosted: Mon Oct 10, 2011 8:19 pm 
Offline
Kernel Developer
User avatar

Joined: Wed Jul 25, 2007 2:26 pm
Posts: 43
может быть стоит разделить метки: глобальные, локальные (.label:) и супер-локальные(@@)
я привык начинать глобальные с начала, а остальные с отступом 4 пробела.
и теперь визуальное оформление циклов будет невозможно, что не есть хорошо.

еще 2 момента которые хотелось бы стандартизировать:
1. описание процедур (in, out параметры)
2. логические разделители:
;********************************************
;======================
и т.п.


Top
   
PostPosted: Mon Oct 10, 2011 8:34 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Тексты, преобразованные текущей версией автоматики, можно посмотреть на http://ftp.kolibrios.org/users/CleverMouse/kernel-trunk .
Отступы меток пока никак не стандартизуются.
Визуальное оформление циклов в ассемблере скорее затрудняет восприятие и в любом случае должно либо быть по всему ядру, либо не быть по всему ядру, и по всему ядру его нет.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Mon Oct 10, 2011 8:37 pm 
Offline

Joined: Wed Dec 26, 2007 5:09 am
Posts: 214
Я в своё время пробовал использовать отступы для циклов и вложенных условий, но не понравилось (да и не всегда возможно, если пишется с прицелом на оптимизацию)...

А ещё надо бы каждую подпрограмму снабжать подробным комментарием относительно её функций, входных-выходных параметров, особых условий и т.д. и т.п.


Top
   
PostPosted: Tue Oct 11, 2011 10:07 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Мне несложно, раз я ввожу правила, заодно добавить ещё какие-нибудь правила для проверятора и/или украшателя, но а) поскольку мне для комфортной работы достаточно уже приведённых, то новых правил от меня не ждите и б) необходимое условие для ввода правила - поддержка хотя бы двоих участников обсуждения.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Wed Oct 12, 2011 12:23 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
В kernel.asm метки l.5 l.6 l.7 (отличные имена для глобальных меток) выравнены на 4 байта.


Top
   
PostPosted: Wed Oct 12, 2011 7:07 am 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
Я конечно не программист со стажем, совсем без стажа, но на сколько мне удалось въехать, именно так я и оформляю код, по этому я за. :)


Top
   
PostPosted: Wed Oct 12, 2011 11:56 am 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Отступы для меток не регулируются никак, я жду консолидированных предложений.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Wed Oct 12, 2011 1:40 pm 
Offline
Kernel Developer
User avatar

Joined: Wed Jul 25, 2007 2:26 pm
Posts: 43
предлагаю так:
глобальные - с начала
локальные - 4 пробела
@@ - 4 пробела, на одной строке с командой


Top
   
PostPosted: Wed Oct 12, 2011 1:49 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1621
Метки на одной строке с командой неудобны при необходимости добавления кода с учётом того, что svn оперирует строками:
Code:
...
jnz @f
xor ecx, ecx
@@: dec ebx
jnz label
...

Если в этом коде выяснится, что после первого перехода, но до второго нужно добавить xor eax,eax, то это затронет две строки
Code:
...
jnz @f
xor ecx, ecx
@@: xor eax, eax ; добавленная строка
dec ebx ; как бы изменённая строка; на самом деле она не менялась
jnz label
...

Кроме того, добавление исключения из общего правила - в данном случае, "каждая метка на отдельной строке" - должно быть чем-то обосновано.

_________________
Сделаем мир лучше!


Top
   
PostPosted: Wed Oct 12, 2011 1:52 pm 
Offline
Moderator

Joined: Thu Apr 08, 2010 8:11 pm
Posts: 269
Если следовать логике ассемблера, то каждая строка это команда, у него ведь строчно-последовательное выполнение :), значит в одной строке одна команда...


Top
   
PostPosted: Wed Oct 12, 2011 2:15 pm 
Offline
Kernel Developer
User avatar

Joined: Wed Jul 25, 2007 2:26 pm
Posts: 43
для меня не принципиально. Хотя я тоже пишу на отдельной строке.


Top
   
PostPosted: Wed Oct 12, 2011 2:27 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Лучше метки совсем без отступа и глобальные и локальные. Ещё я бы увеличил отступ команд с 8 до 12 пробелов что бы длинные метки не наползали на код. И совсем хорошо было бы заменить глобальные метки локальными там, где они в действительности локальные. Свой код от ненужных глобальный меток я почищу.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 98 posts ]  Go to page Previous 1 2 3 4 57 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited