Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.57 MB
Время: 0.049 c
15-1141996436
oldman
2006-03-10 16:13
2006.04.09
SiS - материнки...


3-1139906364
barakuda
2006-02-14 11:39
2006.04.09
dbGRID через строчку


2-1143533216
Light
2006-03-28 12:06
2006.04.09
мышь в Си


2-1143099299
Хрюша
2006-03-23 10:34
2006.04.09
Как можно предварительно просмотреть содержимое RichEdit


3-1139486718
wezzz
2006-02-09 15:05
2006.04.09
Так работает ли BDE под Windows 2003 x64?