Правила оформления кода
-
IgorA, после включения проверки будет один коммит, который приведёт всё к узаконенному стилю и который не будет изменять функциональность. ВебЛомастер тут ни при чём, это довольно банальная замена по регулярному выражению, с которой на ура справляются стандартные юниксовые средства.Сделаем мир лучше!
Легче потратить один день и отформатировать весь код. И не нужно лишних телодвижений в будущем.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.
in code we trust
Легче потратить один день и отформатировать весь код. И не нужно лишних телодвижений в будущем.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.
Насчёт коротких меток, есть только одна такая, которую я лично всегда пишу на одной строке с инструкцией - это @@. Все остальные метки не имеют права быть короткими (и я никогда не пишу их на одной строке с инструкцией), дабы не затруднять понимание кода.
Что касается вопроса SoUrcerer'а насчёт редакторов, то таким является по крайней мере FASMW (удивительно, не правда ли). А вообще, любой уважающий себя и ориентированный на программистов редактор по крайней мере поддерживает авто-отступ.
По поводу lock согласен с Serge'ем.
И ещё, я бы всё-таки подумал над 5-м пунктом, потому что решать проблему наполовину - это как-то странно. Пусть даже и без валидации, но соглашения должны быть достигнуты.
in code we trust
может быть стоит разделить метки: глобальные, локальные (.label:) и супер-локальные(@@)
я привык начинать глобальные с начала, а остальные с отступом 4 пробела.
и теперь визуальное оформление циклов будет невозможно, что не есть хорошо.
еще 2 момента которые хотелось бы стандартизировать:
1. описание процедур (in, out параметры)
2. логические разделители:
;********************************************
;======================
и т.п.
я привык начинать глобальные с начала, а остальные с отступом 4 пробела.
и теперь визуальное оформление циклов будет невозможно, что не есть хорошо.
еще 2 момента которые хотелось бы стандартизировать:
1. описание процедур (in, out параметры)
2. логические разделители:
;********************************************
;======================
и т.п.
Тексты, преобразованные текущей версией автоматики, можно посмотреть на http://ftp.kolibrios.org/users/CleverMouse/kernel-trunk .
Отступы меток пока никак не стандартизуются.
Визуальное оформление циклов в ассемблере скорее затрудняет восприятие и в любом случае должно либо быть по всему ядру, либо не быть по всему ядру, и по всему ядру его нет.
Отступы меток пока никак не стандартизуются.
Визуальное оформление циклов в ассемблере скорее затрудняет восприятие и в любом случае должно либо быть по всему ядру, либо не быть по всему ядру, и по всему ядру его нет.
Сделаем мир лучше!
Я в своё время пробовал использовать отступы для циклов и вложенных условий, но не понравилось (да и не всегда возможно, если пишется с прицелом на оптимизацию)...
А ещё надо бы каждую подпрограмму снабжать подробным комментарием относительно её функций, входных-выходных параметров, особых условий и т.д. и т.п.
А ещё надо бы каждую подпрограмму снабжать подробным комментарием относительно её функций, входных-выходных параметров, особых условий и т.д. и т.п.
Мне несложно, раз я ввожу правила, заодно добавить ещё какие-нибудь правила для проверятора и/или украшателя, но а) поскольку мне для комфортной работы достаточно уже приведённых, то новых правил от меня не ждите и б) необходимое условие для ввода правила - поддержка хотя бы двоих участников обсуждения.
Сделаем мир лучше!
В kernel.asm метки l.5 l.6 l.7 (отличные имена для глобальных меток) выравнены на 4 байта.
Я конечно не программист со стажем, совсем без стажа, но на сколько мне удалось въехать, именно так я и оформляю код, по этому я за.
Отступы для меток не регулируются никак, я жду консолидированных предложений.
Сделаем мир лучше!
предлагаю так:
глобальные - с начала
локальные - 4 пробела
@@ - 4 пробела, на одной строке с командой
глобальные - с начала
локальные - 4 пробела
@@ - 4 пробела, на одной строке с командой
Метки на одной строке с командой неудобны при необходимости добавления кода с учётом того, что svn оперирует строками:
Если в этом коде выяснится, что после первого перехода, но до второго нужно добавить xor eax,eax, то это затронет две строки
Кроме того, добавление исключения из общего правила - в данном случае, "каждая метка на отдельной строке" - должно быть чем-то обосновано.
Code: Select all
...
jnz @f
xor ecx, ecx
@@: dec ebx
jnz label
...
Code: Select all
...
jnz @f
xor ecx, ecx
@@: xor eax, eax ; добавленная строка
dec ebx ; как бы изменённая строка; на самом деле она не менялась
jnz label
...
Сделаем мир лучше!
Если следовать логике ассемблера, то каждая строка это команда, у него ведь строчно-последовательное выполнение , значит в одной строке одна команда...
для меня не принципиально. Хотя я тоже пишу на отдельной строке.
Лучше метки совсем без отступа и глобальные и локальные. Ещё я бы увеличил отступ команд с 8 до 12 пробелов что бы длинные метки не наползали на код. И совсем хорошо было бы заменить глобальные метки локальными там, где они в действительности локальные. Свой код от ненужных глобальный меток я почищу.
Who is online
Users browsing this forum: No registered users and 1 guest