Style/ru: Difference between revisions
Jump to navigation
Jump to search
Pathoswithin (talk | contribs) No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Правила SVN для ядра == | == Правила SVN для ядра == | ||
* Табуляции запрещены. | * Табуляции запрещены. | ||
* Метки должны идти в отдельной строке от кода (но могут быть в одной строке с данными). | |||
* Строка начинается с восьми пробелов. Далее идёт имя команды или макроса. Если имя короче восьми символов, то оно дополняется пробелами до восьми символов; если нет, то далее идёт один пробел. Потом опционально идут аргументы, разделённые запятой и одним пробелом после неё. | * Строка начинается с восьми пробелов. Далее идёт имя команды или макроса. Если имя короче восьми символов, то оно дополняется пробелами до восьми символов; если нет, то далее идёт один пробел. Потом опционально идут аргументы, разделённые запятой и одним пробелом после неё. | ||
* Префиксы lock/rep[z|e|nz|ne] считаются логическим целым с последующей командой и отделяются одним пробелом. | * Префиксы lock/rep[z|e|nz|ne] считаются логическим целым с последующей командой и отделяются одним пробелом. | ||
* Все файлы с кодом должны обладать служебным свойством 'svn:eol-style' со значением 'native'. | * Все файлы с кодом должны обладать служебным свойством 'svn:eol-style' со значением 'native'. | ||
* Все текстовые файлы должны быть в кодировке UTF-8 без BOM. | * Все текстовые файлы должны быть в кодировке UTF-8 без BOM. | ||
= Asmxygen = | |||
В ядре присутствует doxygen документация. Синтаксис документации идентичен таковой в обычном doxygen за исключением следующих ньюансов: | |||
* Если функция не возвращает значений и не принимает параметров - в доксиген комментарии следует указать `@returns Nothing` | |||
* Для удаления функции из документации можно воспользоваться директивой `@dont_give_a_doxygen` | |||
== Рекомендации == | == Рекомендации == | ||
Line 10: | Line 17: | ||
* То же самое желательно применять и к меткам, а так же располагать их в отдельной строке без отступа. | * То же самое желательно применять и к меткам, а так же располагать их в отдельной строке без отступа. | ||
* При написании процедур необходимо описывать её назначение, входные и выходные параметры, изменяемые регистры: | * При написании процедур необходимо описывать её назначение, входные и выходные параметры, изменяемые регистры: | ||
<syntaxhighlight lang="asm"> | <syntaxhighlight lang="asm">; @brief Doing job. | ||
; | ; @param eax Some data | ||
; @param ebx Some pointer | |||
; | ; @returns Some result | ||
; | ; @warning Destroys ebx register. | ||
; | subroutine:</syntaxhighlight> | ||
; | |||
[[Category:Кодинг]] | [[Category:Кодинг]] |
Latest revision as of 17:44, 8 July 2021
Правила SVN для ядра
- Табуляции запрещены.
- Метки должны идти в отдельной строке от кода (но могут быть в одной строке с данными).
- Строка начинается с восьми пробелов. Далее идёт имя команды или макроса. Если имя короче восьми символов, то оно дополняется пробелами до восьми символов; если нет, то далее идёт один пробел. Потом опционально идут аргументы, разделённые запятой и одним пробелом после неё.
- Префиксы lock/rep[z|e|nz|ne] считаются логическим целым с последующей командой и отделяются одним пробелом.
- Все файлы с кодом должны обладать служебным свойством 'svn:eol-style' со значением 'native'.
- Все текстовые файлы должны быть в кодировке UTF-8 без BOM.
Asmxygen
В ядре присутствует doxygen документация. Синтаксис документации идентичен таковой в обычном doxygen за исключением следующих ньюансов:
- Если функция не возвращает значений и не принимает параметров - в доксиген комментарии следует указать `@returns Nothing`
- Для удаления функции из документации можно воспользоваться директивой `@dont_give_a_doxygen`
Рекомендации
- Переменные должны иметь либо исчерпывающее название без сокращений, либо комментарий.
- То же самое желательно применять и к меткам, а так же располагать их в отдельной строке без отступа.
- При написании процедур необходимо описывать её назначение, входные и выходные параметры, изменяемые регистры:
; @brief Doing job.
; @param eax Some data
; @param ebx Some pointer
; @returns Some result
; @warning Destroys ebx register.
subroutine: