Текущий архив: 2006.04.09;
Скачать: CL | DM;
ВнизПравила оформелния кода, названия компонентов Найти похожие ветки
← →
Джо © (2006-03-17 18:41) [40]> [39] Leonid Troyanovsky © (17.03.06 18:31)
Сижу пока читаю. Много разных вариантов.
Вот по поводу того, что тут назвали стилем K&R: мне лично кажется очень ненаглядным ("все в кучу", слишком "плотно", если можно так выразиться) этот способ.
Насчет непоследовательности "моего" стиля — согласен. Тем более, что в case делаю исключение: перед операторными скобками ставлю даблспейс. Но, привычка — вторая натура... :)
Наверное, сказывается то, что я в комманде не пишу, поэтому к чужому оформлению довольно долго приходиться привыкать.
← →
Джо © (2006-03-17 18:43) [41]> [38] без ника (17.03.06 18:30)
> Осатлся не понятным вопрос по именованию визуальных констролов
> :
>
> TBitBtn1, TButton1 - не так же оставлять ?
>
> Я обычно делаю так :
>
> TButtonMetodName TBitBtnDoSome
>
> Хотя ADOStoperdProc - сокращаю до ADOSP_.....
>
> Как правелььно поступать тут ???
Лично я именую так:
btnOK, btnCancel, lbUserName (TLabel), edUserName (TEdit) и т.д.
← →
Eraser © (2006-03-17 18:49) [42]
> Джо © (17.03.06 18:43) [41]
аналогично.
метки и др. компоненты, к которым из кода доступ не нужен, чаше всего никак не именю... как есть, так и оставляю.
← →
Leonid Troyanovsky © (2006-03-17 18:55) [43]
> Джо © (17.03.06 18:41) [40]
> Вот по поводу того, что тут назвали стилем K&R: мне лично
> кажется очень ненаглядным ("все в кучу", слишком "плотно",
> если можно так выразиться) этот способ.
Компактность - тяжелое наследие Си.
Они ж там каждый байт экономили, бо качали исходники
через модем.
> Насчет непоследовательности "моего" стиля — согласен. Тем
> более, что в case делаю исключение: перед операторными скобками
> ставлю даблспейс. Но, привычка — вторая натура... :)
Вот. А вот если б сразу втянулся - было б и последовательней.
> к чужому оформлению довольно долго приходиться привыкать.
Чем проще правило и чем последовательней применяется,
тем быстрее и воспринимается, бо простую закономерность
и уловить проще.
--
Regards, LVT.
← →
Leonid Troyanovsky © (2006-03-17 18:57) [44]
> Джо © (17.03.06 18:43) [41]
> btnOK, btnCancel, lbUserName (TLabel), edUserName (TEdit)
Учился, видимо, по Ray Konopka.
--
Regards, LVT.
← →
Джо © (2006-03-17 19:09) [45]> [43] Leonid Troyanovsky © (17.03.06 18:55)
Да, в общем, согласен с доводами.
> [44] Leonid Troyanovsky © (17.03.06 18:57)
Не помню уже, у кого подсмотрел. Но только не у Конопки, его я точно не читал, просматривал просто (бумажной книги в свое время не имел).
← →
Наиль © (2006-03-17 21:10) [46]У каждого программиста есть свой подчерк.
В своё время у меня он был очень ярко выраженый.
Но по мере развития он всё ближе приближается к стандартам VCL.
Но нет-нет да и VCL-исходники начинаю править под свой стиль (по ошибке).
Не откажу себе в удовольствии оствить образцы почерка.
if a
then b
else c;
if a
then begin
b;
end else begin
c;
end;
case a of
1: begin
b;
end;
2: begin
c;
end;
end;
a:=b;
Отступы одинарные, минимум пробелов в выражениях (осталось от Паскаля)
begin либо у левого края, либо последний в строке, end под if, do, while и т.д. (больше текста умещается в маленьком окне редактора). При таком оформлении поиск потеряных begin"ов проиходит от конца файла.
Одно время пришлось писать очень длиные формулы в несколько строк.
Чтобы быстрее находить начала формул стал их записывать в таком виде:a:=x+y+z
+b-v
-c+d;
b:=z+x+y
-a+v
+c-d;
Такая запись результат плотного почерка. Эту идею я перенёс на большие константы - массивы строк. Результатa:=("b"
,"c"
,"d");
Большие формулы больше не встречаются, писать запятую в начале строки не привык, а вот привычка писать if then else друг под другом сохранилась.
← →
Anatoly Podgoretsky © (2006-03-17 21:20) [47]Leonid Troyanovsky © (17.03.06 16:01) [17]
begin
добавляй
один
пробел
end
← →
Anatoly Podgoretsky © (2006-03-17 21:21) [48]
begin
добавляй
один
пробел
end
← →
Sergey Masloff (2006-03-17 22:27) [49]Я лично для себя "усовершенствовал" метод Игоря (а оказывается и Кернигана)
begin всегда с новой строки если перед ним в строке нет else
if (foo) then
begin
....
end else begin
...
end;
while (foo) do
begin
...
end;
По case пишу только так:
Точнее так:
case x of
1 : DoSmthng();
2 : DoSmthng2();
3 : DoSmthng3();
else
...
end;
то есть в кейсе бегинов с эндами НЕТ
если нужно пишу так
if () then
begin
...
end else if () then begin
...
end else begin
...
end;
Что касается корпоративных стандартов то таки есть они во многих фирмах, я видел минимум два но оба раза правообладатели были категорически против публикации их в каком-либо виде.
← →
Sergey Masloff (2006-03-17 22:28) [50]Да в case отступ не показал. А он есть как обычно 2 символа
← →
Германн © (2006-03-18 02:17) [51]
> без ника (17.03.06 14:48)
>
> Хочется узнать какие есть правила оформления кода в Delphi
> (ну и не только в нем).
Ну если "и не только в нём", то получи:
procedure Data3;
begin
adr:=alfa;bdc;
wrc:=$85;w;wrd:=a3;w;wrd:=a2;w;wrd:=46;w;wrd:=a1;w;wrd:=a0;
...
end;
А правила в примере гораздо более жёсткие, чем в Дельфи!
← →
programania © (2006-03-18 02:36) [52]Мне кажется все-таки нужно учитывать содержание:
простые и однотипные по смыслу операторы записываю
как можно сжато по нескольку на строке чтоб меньше выделялись и не мешали
зато чем сложнее участок тем больше делаю выделение операторов
и на отдельных строках и даже между пустых строк
и когда разбираюсь постоянно форматирую и свой код и чужой
пока не будет ясности и всем советую если непонятна чужая программы
не стесняйтесь ее ковырять хотя бы пустыми строками
← →
Игорь Шевченко © (2006-03-20 10:32) [53]Leonid Troyanovsky © (17.03.06 17:57) [34]
> Они не должны переносить { :)
> Т.е., д.б.
>
> 2: begin
> smth
> end;
Видишь ли, операторные скобки в case - это специфика паскаля :) Лично мне begin на одной строке с выражением case кажется громоздким.
> Я б еще добавил, чем проще правила, тем проще их применить.
>
> Т.е., при минимуме обучения - приемлемый результат.
Да собственно, стандарты K&R и Borland по сложности практически не отличаются, разница в стиле, а набор правил почти одинаковый.
Страницы: 1 2 вся ветка
Текущий архив: 2006.04.09;
Скачать: CL | DM;
Память: 0.55 MB
Время: 0.015 c