Конференция "Прочее" » Оформление кода
 
  • ekto © (16.05.08 17:22) [0]
    Кто как пишет?

     with TMyForm.Create(Applicatio) do
     try
       ....
       ShowModal;
       ...
     finally
       Free;
     end;

    или:

     with TMyForm.Create(Applicatio) do
       try
         ....
         ShowModal;
         ...
       finally
         Free;
       end;
  • clickmaker © (16.05.08 17:24) [1]
    ... do
    begin
     try
     ...
    end;
  • Сергей М. © (16.05.08 17:24) [2]
    Загадка для продвинутых - "найди три отличия в этих шматках кода")
  • Rouse_ © (16.05.08 17:32) [3]
    Если сделать отступ блока try после do то скомпиленный код будет работать в полтора раза медленней, поэтому первый вариант ;)
  • ekto © (16.05.08 17:45) [4]

    > Rouse_ ©   (16.05.08 17:32) [3]

    я так и думал
  • Дмитрий С (16.05.08 18:36) [5]
    Мне предпочтительней первый вариант.

    Только овнером я обычно выбираю другую форму.
  • Юрий Зотов © (16.05.08 18:48) [6]
    Была такая хохма (реально была). Два чела в нашей команде (назовем их А и Б) постоянно спорили о том, нужно ли после then писать begin на отдельной строке, или нет.

    Как-то А писал DLL и заюзал ShareMem, но забыл, что его нужно указывать первым. Начал отлаживать - естественно, лезут ошибки 216 и 217. Гоняет полдня, уже в мыле весь, ничего понять не может. И говорит Б - слушай, глянь свежим взглядом, может увидишь что. Б отвечает - ладно, иди покури.

    Б садится за машину А и в полминуты ошибку вылавливает. Возвращается А из курилки - все работает, как часы. Спрашивает у Б - в чем же было дело?

    И тот ему торжественно отвечает - ну сколько раз я тебе говорил, что begin после then надо писать на отдельной строке!!!

    Несколько секунд общего молчания - и затем громовой хохот.

    :o)
  • Игорь Шевченко © (16.05.08 18:51) [7]
    with TMyForm.Create(Applicatio) do
       ShowModal;

    Я так пишу в большинстве случаев
  • Юрий Зотов © (16.05.08 18:54) [8]
    > Игорь Шевченко ©   (16.05.08 18:51) [7]

    with и do - лишние.
    :о)
  • Игорь Шевченко © (16.05.08 19:03) [9]
    Юрий Зотов ©   (16.05.08 18:54) [8]

    Во-первых, для ясности кода
    фразу TMyForm.Create(Application).ShowModal я буду долго переваривать
    Во-вторых, а вдруг потребуется вставить код промеж Create и ShowModal или Free, не дай Аллах, вызывать :)
  • Юрий Зотов © (16.05.08 19:09) [10]
    > Игорь Шевченко ©   (16.05.08 19:03) [9]

    Игорь, когда в один ненастный день вдруг забудешь, что ShareMem пишется первым - тогда поймешь, что я был прав.

    ;o)
  • Игорь Шевченко © (16.05.08 19:22) [11]
    Юрий Зотов ©   (16.05.08 19:09) [10]


    > Игорь, когда в один ненастный день вдруг забудешь, что ShareMem
    > пишется первым


    Это вряд ли :)
  • Anatoly Podgoretsky © (16.05.08 19:27) [12]
    Не зарекайся.
  • DiamondShark © (16.05.08 19:53) [13]

    > Игорь Шевченко ©   (16.05.08 18:51) [7]
    > with TMyForm.Create(Applicatio) do
    >    ShowModal;
    >
    > Я так пишу в большинстве случаев

    Даже если учесть, что есть caFree, то всё равно ахтунг.
  • Andy BitOff © (16.05.08 20:35) [14]
    А я видел так: with TMyForm.Create(Self) do; try; ShowModal; finally; Free; end;
    Всмысле, в одну строчку, видимо, чтобы сократить количество строк.
  • @!!ex © (16.05.08 20:56) [15]
    > чтобы сократить количество строк.

    бояцца, как бы у компьютера строчки не кончились? :))
  • Simpson © (16.05.08 21:28) [16]
    Одно время ходил сишный код в виде псевдо графики, там помойму кошка была нарисована))
  • Умище (16.05.08 21:51) [17]
    Всегда относящиеся к блоку открывающий/закрывающий оператор пишу на уровне блока, это позволяет всегда видеть, к чему относится блок:

    with TForm.Create(...) do
    try
     //
     //
    finally
     //
     //
    end;

  • Умище (16.05.08 21:53) [18]
    причем в обязательном порядке обрамляю блоки операторами
    begin..end;

    :

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

  • Игорь Шевченко © (16.05.08 22:02) [19]
    Умище   (16.05.08 21:53) [18]

    Все понимаю, а зачем try ... end еще в begin..end заворачивать ?
 
Конференция "Прочее" » Оформление кода
Есть новые Нет новых   [134435   +9][b:0][p:0.001]