Page 5 of 7
Re: Правила оформления кода
Posted: Mon Oct 17, 2011 10:38 pm
by Nable
to
turbanoff
Какую ещё корректировку надо?
Хех, помню как на меня тут ругались (4 года назад) за оформление исходников. А я просто использовал только редактор fasm'а с его фичей optimal saving когда используются вперемешку табы и пробелы по принципу 8 пробелов = 1 таб.
Ныне использую только табы, ну да это не важно совсем.
Re: Правила оформления кода
Posted: Mon Oct 17, 2011 11:33 pm
by CleverMouse
Nable, это, во-первых, некорректная замена, а во-вторых, даже не пытается учесть правила помимо табуляции.
turbanoff, я конвертировала наколеночным скриптом
Code: Select all
#!/bin/bash
FILE=$1
expand -t8 $FILE | perl -lne 'if(!$z&&m/^(\s*[^;"\x27\$][^;"\x27\s]*:)(\s*)([^;\s].*)$/){print "$1\r\n"," " x (length($1)+length($2)),$3}else{print}$z=(m/\\\s*(;.*)?$/)' > $FILE.1
perl -n /home/users/clevermouse/beautifyer/beautifyer.pl $FILE.1 > $FILE
rm $FILE.1
expand раскрывает табуляцию, следующий регэксп выделяет метки и печатает их на отдельной строке, отступы настраивает приложенный скрипт
Для массового исправления, соответственно, из командной строки
Code: Select all
for a in `find -iname '*.asm' -o -iname '*.inc'`;do ./beautifyer.sh $a;done
Re: Правила оформления кода
Posted: Sat Dec 10, 2011 7:16 pm
by Asper
Вопрос: распространяются ли правила форматирования кода на драйвера?
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 1:35 am
by Nable
тут не так давно писали что ты на svn не сможешь затолкнуть ничего текстового, содержащего \t, так что похоже что распространяются.
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 2:19 am
by mike.dld
Asper wrote:Вопрос: распространяются ли правила форматирования кода на драйвера?
А почитать тему?
CleverMouse wrote:Ещё раз: на репозиторий вне kernel/trunk правила не распространяются.
Соответственно, если исходники лежат не в /kernel/trunk/drivers (а, скажем, в /drivers), то правила форматирования на них *не распространяются*. С другой стороны, я бы заметил, что это не значит, что их *не стоит* там применять.
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 5:31 am
by Serge
mike.dld wrote: С другой стороны, я бы заметил, что это не значит, что их *не стоит* там применять.
Спасибо, но лучше не надо. Особенно к портированным.
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 12:52 pm
by mike.dld
Про применение правил к C/C++ коду никто никогда ничего не говорил, а портированного ASM кода я как-то не помню, по крайней мере в сфере драйверов. Так в чём проблема? И я вообще-то имел в виду (вероятно, не совсем корректно выразился) самостоятельное соблюдение правил, без принуждения. Ну да ладно... Может быть, когда-нибудь, кто-нибудь поймёт...
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 12:54 pm
by CleverMouse
Из заглавного сообщения темы:
CleverMouse wrote:svn-сервер будет просто отклонять коммиты, выполнение которых означало бы появление в kernel/trunk файлов *.asm или *.inc, нарушающих оформление
Re: Правила оформления кода
Posted: Mon Dec 12, 2011 5:47 pm
by Asper
Ok, спасибо.
mike.dld wrote:Может быть, когда-нибудь, кто-нибудь поймёт...
Я понял и ничего против заявленных правил форматирования не имею, хотя бы потому что эти правила по большей части соответствуют моему собственному стилю.
Вопрос я задал, поскольку собираюсь в ближайшем будущем залить код HDA драйвера на SVN.
Кстати код драйвера HDA находится в нескольких файлах, может создать для него отдельную папку на в /kernel/trunk/drivers или заливать всё в кучу?
Re: Правила оформления кода
Posted: Fri Jan 27, 2012 3:23 pm
by CleverMouse
Asper, лучше создать отдельную папку.
Re: Правила оформления кода
Posted: Fri Feb 24, 2012 6:14 pm
by Mario
Code: Select all
; init selectors
mov ebx, [BOOT_VAR+0x9040] ; offset of APM entry point
movzx eax, word [BOOT_VAR+0x9050]; real-mode segment base address of
; protected-mode 32-bit code segment
movzx ecx, word [BOOT_VAR+0x9052]; real-mode segment base address of
; protected-mode 16-bit code segment
movzx edx, word [BOOT_VAR+0x9054]; real-mode segment base address of
; protected-mode 16-bit data segment
Наша новая система с поликерамидами - ваши волосы всегда великолепны!
Re: Правила оформления кода
Posted: Fri Feb 24, 2012 6:36 pm
by CleverMouse
Глюки старой версии
Code: Select all
; init selectors
mov ebx,[BOOT_VAR+0x9040] ; offset of APM entry point
movzx eax,word [BOOT_VAR+0x9050] ; real-mode segment base address of
; protected-mode 32-bit code segment
movzx ecx,word [BOOT_VAR+0x9052] ; real-mode segment base address of
; protected-mode 16-bit code segment
movzx edx,word [BOOT_VAR+0x9054] ; real-mode segment base address of
; protected-mode 16-bit data segment
Spoiler:
-
kernel_asm_2000.png (5.79 KiB)
Viewed 17558 times
сохранены для совместимости.
Re: Правила оформления кода
Posted: Fri Feb 24, 2012 6:55 pm
by Mario
Вообще то раз уж сказано А, то должно быть сказано Б. Почему в одних случаях можно, а в других нельзя? Надо весь код к 80 символьной границе приводить. Это же не Си какой-нибудь, чтобы рассусоливать.
Re: Правила оформления кода
Posted: Sun Apr 22, 2012 1:39 am
by XVilka
Раньше это было актуально. Но сейчас, имхо, ни к чему ограничивать длину строки до 80. Если уж ограничивать, то 100-120
Re: Правила оформления кода
Posted: Sun Apr 22, 2012 1:56 am
by Mario
Меню больше волнует жуткая предвзятость к табам. Глупо ограничивать удобство использования.