Конференция "Прочее" » Оформление кода
 
  • Умище (16.05.08 22:04) [20]
    Моя предпочитает блоки кода определять по ключевым словам begin..end
  • korneley © (16.05.08 22:06) [21]

    > Игорь Шевченко ©   (16.05.08 22:02) [19]

    А как же [9]? ("во-вторых") ;)
  • Andy BitOff © (16.05.08 22:09) [22]
    А я всегда пишу begin...end, даже если внути выполняется одно действие, правда не всегда (сейчас глянул сырцы), причем begin пишу в той же строке, что и оператор. А все остальные конструкции внутри пишу с отступом, что позволяет видеть в каком блоке находится конструкция.

    with TForm.Create(...) do begin
    ..try
    ....
    ....for ... do begin
    ......if ... begin
    ......
    ......end;
    ......if ...
    ........
    ....end;
    ....
    ..finally
    ....
    ....
    ..end;
    end;


  • @!!ex © (16.05.08 22:14) [23]
    > А я всегда

    ...

    > правда не всегда

    ЖЖошь. :)

    Я тоже почти всегда пишу begin...end. Причем begin в той же строчке что и оператор.
    Когда видишь end, то знаешь что он относится к оператору, т.к. около оператора всегда есть begin. очень удобно. смотреть не могу на код, где begin на отдельной строке.
  • Умище (16.05.08 22:16) [24]

    > Когда видишь end, то знаешь что он относится к оператору,
    >  т.к. около оператора всегда есть begin. очень удобно. смотреть
    > не могу на код, где begin на отдельной строке.


    Видимо тебя воротит и от всех борландовских модулей...
  • @!!ex © (16.05.08 22:20) [25]
    > Видимо тебя воротит и от всех борландовских модулей...

    Да. Так и есть.
    К счастью я практически не работаю с VCL.
  • Игорь Шевченко © (16.05.08 22:42) [26]
    korneley ©   (16.05.08 22:06) [21]


    > А как же [9]? ("во-вторых") ;)


    Так я не пишу begin...end :)

    @!!ex ©   (16.05.08 22:14) [23]


    > Я тоже почти всегда пишу begin...end. Причем begin в той
    > же строчке что и оператор.
    > Когда видишь end, то знаешь что он относится к оператору,
    >  т.к. около оператора всегда есть begin. очень удобно. смотреть
    > не могу на код, где begin на отдельной строке.


    Я до позапрошлого года придерживался точно таких же убеждений, а на C и C# до сих пор придеживаюсь.

    Но раз D2006 ставит сама begin на следующей строке, то исправлять за ней мне просто лень, code templates править тоже лень, поэтому на Паскале потихоньку перешел на Borland'овский стиль. Строчек правда больше получается - это фигово.
  • korneley © (16.05.08 23:02) [27]

    > Игорь Шевченко ©   (16.05.08 22:42) [26]
    > Так я не пишу begin...end :)

    Я не о том. Между
    begin

    и
    try

    тоже можно что-нибудь вставить, или, не к ночи будь помянуто, между
    end

    и
    end

    :)). Таким приверженцам сеппуку, только грамотный каясяку поможет %)

    >  ...то исправлять за ней мне просто лень...

    А просто вырубил эту всю умную машинерию, и пишу как прежде:
    if ... then begin
    ...
    end;

  • korneley © (16.05.08 23:05) [28]
    каясяку = кайсяку. Хотя и так хорошо... :)
  • korneley © (16.05.08 23:13) [29]
    И совсем уже вдогонку: в BDS2006, до редакции под себя code templates, мне добраться не удалось. Никак. :( Только вглюч/отглюч. Может плохо искал...
  • Игорь Шевченко © (16.05.08 23:26) [30]
    korneley ©   (16.05.08 23:02) [27]

    Не, мне пальцы жалко, пусть уж среда за меня набирает.


    > И совсем уже вдогонку: в BDS2006, до редакции под себя code
    > templates, мне добраться не удалось. Никак. :( Только вглюч/отглюч.
    >  Может плохо искал...


    View|Templates, правой кнопкой на Template и Edit ee :)
  • korneley © (16.05.08 23:32) [31]

    > Игорь Шевченко ©   (16.05.08 23:26) [30]

    !!! Дык!!! Как же!!! Ух... Я все Tools->Options облазил, а оно, вона как %) Спасибо.
  • Eraser © (16.05.08 23:52) [32]
    и в C (C++, php, java и т.п.) и в Паскале операторные скобки размещаю в отдельных строках.
    разработчики VS и CDS со мной согласны )
  • Anatoly Podgoretsky © (16.05.08 23:58) [33]
    > Игорь Шевченко  (16.05.2008 22:42:26)  [26]

    Это не фигово, если работа тарифицируется в строках.
    Сообственно в чем будет тарифицироваться, того много и делать.
  • Loginov Dmitry © (17.05.08 00:12) [34]
    > Когда видишь end, то знаешь что он относится к оператору,
    > т.к. около оператора всегда есть begin. очень удобно. смотреть
    > не могу на код, где begin на отдельной строке.


    Подумай о людях, которым возможно (не упаси господь) придется разбираться с этим кодом :)

    Сам пару лет ставил ставил begin после оператора. Смотреть не мог на код, где begin и end на одном уровне.
    Однако переучился (незаметно причем как-то), и теперь ситуация обратная - код с begin после оператора не воспринимается.
  • korneley © (17.05.08 00:12) [35]

    > Anatoly Podgoretsky ©   (16.05.08 23:58) [33]
    > Это не фигово,  если работа тарифицируется в строках.Сообственно в чем
    > будет тарифицироваться, того много и делать.

    :) Напомнило: "план программиста - 1.5 _отлаженных_ строки в день" (не шутка) Как слова-то значения поменяли: и "план" и "отлаженных"... :)
  • Knight © (17.05.08 00:17) [36]
    > [0] ekto ©   (16.05.08 17:22)

    with TMyForm.Create(Application) do try
     ...
     if ShowModal=mrOk then begin
       ...
     end else begin
       ...
     end;
    finally
     Free;
    end;

  • TIF © (17.05.08 00:19) [37]
    Хм, поделюсь своими видениями оформления кода, это чисто IMHO

    procedure qwerty();
    var i, j: integer; s: string;
    begin

     s:='abc';
     for i:=1 to 10 do
     begin
      s:=s+IntToStr(i);
     end;

     if j=0
       then s:='1';

     if s='aaa'
       then
       begin
        ...
       end
       else
       begin

       end;

    end;

  • Knight © (17.05.08 00:23) [38]
    > [37] TIF ©   (17.05.08 00:19)
    > if s='aaa'
    >   then
    >   begin
    >    ...
    >   end
    >   else
    >   begin
    >
    >   end;


    В таком всегда путался.. посему и пришёл к

    if s='aaa' then begin
      if f='bbb' then begin
        ...
      end;
    end else begin
      ...
    end;



    что для меня более читабельно, сразу видно какой бегин к какому энду.. :)
  • TIF © (17.05.08 00:28) [39]

    > Knight ©   (17.05.08 00:23) [38]


    Как вариант использую частенько:


    if s='aaa'
     then begin
       if f='bbb'
         then begin
           ...
         end;
     end
     else begin
     ...
     end;

 
Конференция "Прочее" » Оформление кода
Есть новые Нет новых   [134435   +9][b:0.001][p:0.003]