-
> Но кстати это очень удобно, причем когда ставишь приставку > именно с маленькой буквы, тогда она не сливается с первой > буквой имени:
Есть VCL, где подобные имена не приняты, следовательно, непривычны и отвлекают от анализа кода. Вся суть coding conventions состоит в том, чтобы код было легко, просто и удобно читать большинству людей.
-
Игорь Шевченко © (16.02.17 22:33) [40]
По идее это наоборот упрощает чтение. Т.к. не нужно скролить туда сюда и прыгать по переменным чтобы узнать что это property или локальная переменная или аргумент метода.
> Тимохов Дима © (16.02.17 22:19) [39]
>> k - для лок. переменных. И как это расшифровать? не variable и не local, а kkk... ?
> fu - для переменных под implementation.
Ну те кто будет разбирать ваш код, первой мыслью наверное будет тот самый fu face mem :) Других ассоциаций у меня нет :)
Префиксы должны быть такие, чтобы любому челу знающему английский, было понятно что это.. Например: 'A' = 'Argument'. 'F' = 'Field', 'V' - 'Variable', 'P' - 'Pointer', 'T' = 'Type', 'E' = 'Exception', 'I' = 'Interface'.
-
> _ - для классовых методов.
Зачем? Там же все равно нужно писать название класса TMyName.FuncName - что уже как бы говорит о том что или это class procedure. И вообще что это дает? Зачем отличать классовые процедуры от методов?
-
* или это class procedure или перечисление (enumeration)
Не могу молчать ("когда в интернете кто-то неправ").. :)
>> а. Отступ 3 (привык).
Wa-аt?
А как же клавиши Ctrl + Shift + I и Ctrl + Shift + U - они только по 2 двигают... Т.е. отступ явно должен быть из четного числа.
А как же клавиша Tab? Она же по 2 двигает...
-
> аргументы, зачастую, именуют с заглавной A, хотя в VCL вроде > не практикуется
ACol, ARow навскидку первое, что пришло в голову.
-
Кто б сомневался © (16.02.17 23:50) [41]
Сначала:
По идее это наоборот упрощает чтение. Т.к. не нужно скролить туда сюда ...
А следом:
>> k - для лок. переменных. И как это расшифровать? не variable и не local, а kkk... ?
Упс. Идея не сработала. А как же не скролить?
В итоге все таки пришлось вводить coding conventions:
'A' = 'Argument'. 'F' = 'Field', 'V' - 'Variable', 'P' - 'Pointer', 'T' = 'Type', 'E' = 'Exception', 'I' = 'Interface'.
Кто б сомневался © (17.02.17 00:02) [42] > _ - для классовых методов. Зачем?
Ну так чтобы не скролить. Или уже не работает? ;)
Поэтому Игорь и пишет о том, что лучше использовать стиль, который в VCL принят. В этом случае, если VCL смотрел, то и с остальным кодом в этом стиле парсер в голове не ломается.
Но кстати это очень удобно, причем когда ставишь приставку именно с маленькой буквы, тогда она не сливается с первой буквой имени:
В том же VCL принято писать с маленькой буквы только зарезервированные слова.
-
> Кто б сомневался © (16.02.17 23:50) [41]
Отвечу скопом: 1. k - т.к. видно хорошо. 2. _ - у меня сильно используются классовые методы, с т.ч. и виртуальные (в общем-то весь фрейморк построен на этом). Поэтому при методе часто нету имени класса. 3. fu - f по аналогии с f перед private членами, u - юнит. 4. Отступы регулируются options / editor / source options - надо ставить block indent 3, tab stops 4 7.
Дело привычки.
Еще. Не придеживаюь подхода VCL в классах: сначала private, потом protected и т.д. Пишу по смысловым группам:
> // Тема такая-то > private var fData: Integer; > public property Data: Integer read fData; > public procedure AddData(...) > > // Тема другая-то > private var fData1: Integer; > public property Data1: Integer read fData1; > public procedure AddData1(...) >
-
> Еще. Не придеживаюь подхода VCL в классах: сначала private, > потом protected и т.д. Пишу по смысловым группам:
Ты ж один пишешь, насколько я в курсе. А все стили, соглашения и т.п. - они для совместной работы.
-
> А как же клавиши Ctrl + Shift + I и Ctrl + Shift + U - они только по 2 двигают... не на 2, а на значение Editor Properties -> Block indent которое по дефолту равно 2.
> А как же клавиша Tab? Она же по 2 двигает... то же самое, но Tab Stops.
-
Сам или не сам, все равно стиль какойто вырабатывается, привычки, удобства и тп способствуют. вот префиксы мы используем для того чтобы иде "помогала", по префиксу групируются в списках, что иногда помогает. Вся остальная смысловая нагрузка - ерунда на постном масле. )) Лок переменным достаточно простого короткого названия, как и параметрам. В делфи регистронезависимость, на мой взгляд зло.
-
> Игорь Шевченко © (17.02.17 10:13) [47] > > Еще. Не придеживаюь подхода VCL в классах: сначала private, > > потом protected и т.д. Пишу по смысловым группам: > Ты ж один пишешь, насколько я в курсе. А все стили, соглашения > и т.п. - они для совместной работы.
К сожалению, до сих пор пишу один. В какой-то момент это был осознанный выбор, т.к. справляюсь. Вот именно в моем случае (много кода на одного) выработал свой стиль, привычный и понятный мне. Без него я бы сдох. Я это к тому, что согласно твоей любимой фразе... каждый овощ и т.д. (концовку не помню).
-
Тимохов Дима © (17.02.17 16:45) [50]
Согласно моей фразе всякий овощ приносит пользу будучи употреблен надлежащим образом в надлежащее время. Видимо, в твоем случае стоило раньше прочитать книгу братьев Тейксейры и Пачеко.
-
если для проекта в котором ничего не понятно вы делаете костыль, то вероятно вы используете бестпрактис этого проекта, а как результат не будете выделяться на общем фоне и нарушать хрупкий баланс и эстетику остального кода
-
стиль ничто, дизайн - гораздо важнее.
открываешь отчет строк на 1000, который надо допеределать. со стилем там все окейно, но с дизайном полный швах.
десятикратные вложенные циклы, вперемежку получение, обработка и вывод данных. потянешь за веревочку в одном месте - в ста местах дверка откроется. а со стилем все хорошо
-
> В делфи регистронезависимость, на мой взгляд зло.
Слава богу что разработчики не додумались такое извращение добавить в этот язык. Тьфу-тьфу. С точки зрения здравомыслия - какой же идиотизм с этой регистрозависимостью придумали. Когда Double <> double и когда myData и mydata это разные переменные.
Человек воспринимает большую и маленькую букву как одну и ту же, а машина нет. И ... решили угодить машине.
Ну может с древних времен, во времена С с точки зрения производительности это было целесообразно, но нафига это ввели в современные языки, такие как Java, во времена когда языки стремились (и стремятся) к обычному английскому тексту..
-
Разработчики шарпа, теже впрочем что и делфи, както вот ввели зависимость, и никто еще не умер. Странно все это. )
-
> ухты © (17.02.17 12:29) [49] > > Сам или не сам, все равно стиль какойто вырабатывается, > привычки, удобства и тп способствуют. > вот префиксы мы используем для того чтобы иде "помогала", > по префиксу групируются в списках, что иногда помогает. > Вся остальная смысловая нагрузка - ерунда на постном масле. > )) Лок переменным достаточно простого короткого названия, > как и параметрам. > В делфи регистронезависимость, на мой взгляд зло.
Всё что вам в локальной группе удобно использовать - используйте. Никто не против. А вот насчёт "В делфи регистронезависимость, на мой взгляд зло" я решительно не согласен.
-
> [54] Кто б сомневался © (18.02.17 01:33) > Когда Double <> double и когда myData и mydata это разные переменные.
Это издержки. А вот когда регистр необязателен некоторые хабивают на него совсем и у них в когде одинаковые переменные и компилятор это пропускает moiasuperperemenaia MOIASUPERPEREMENAIA а так им просто лень записывать MoiaSuperPeremenaia
Это же касается идентификаторов библиотечных переменных и функций. Компилятор ошибку не выдаёт, значит принципиально пишу как хочу, и никто мне ничё не скажет.
-
но нафига это ввели в современные языки, такие как Java,
начать надо не с языков, а с регистрозависимых файловых систем.
-
> Inovet © (18.02.17 09:35) [57]
Лично я вообще не понимаю зачем нужна "регистрозависимость" хоть где либо в программировании.
|