Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.04.09;
Скачать: [xml.tar.bz2];

Вниз

Правила оформелния кода, названия компонентов   Найти похожие ветки 

 
Джо ©   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.012 c
1-1141306181
MegaVolt
2006-03-02 16:29
2006.04.09
Как выводить статус от нескольких потоков?


15-1142888315
xlsn
2006-03-20 23:58
2006.04.09
WebMoney


2-1143016942
mrAndersen
2006-03-22 11:42
2006.04.09
Image


5-1129100926
MegaVolt
2005-10-12 11:08
2006.04.09
Виртуальная канва. Как реализовать?


10-1115966812
Irishka
2005-05-13 10:46
2006.04.09
TIMAGE и WORD





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский