Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11   вперед  Ctrl      все
 Флейм про оформление и begin-end  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5866
_Vasilisk_

+
while LCurInfo <> nil do begin
      if (LCurInfo^.Type_ = MIB_IF_TYPE_ETHERNET) then begin
        for Li := 0 to Length(TestMacList) do begin
          if Int64(LCurInfo^.Address) = TestMacList[Li] then begin
            Result := True;
            Exit;
          end;
        end;
      end;
Тебе реально так удобно расставлять begin'ы?!
15 апр 21, 12:41    [22309300]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32405
Barmaley57
Тебе реально так удобно расставлять begin'ы?!
дебаркадеро так ставит.
а в исходниках VCL встречается всякое и симметричные begin .. end, и асимметричные.
15 апр 21, 12:46    [22309303]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5866
Мимопроходящий
дебаркадеро так ставит.
Не замечал за ними такого. Вгде они так делают?
15 апр 21, 13:05    [22309312]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12901
Barmaley57
Тебе реально так удобно расставлять begin'ы?!
Да. Если строка короткая. А если длинная пишу так

if
  Condition1 and
  Condition2
then begin
Тогда каждый end соответствует конкретному оператору
15 апр 21, 13:52    [22309335]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4654
Barmaley57
Тебе реально так удобно расставлять begin'ы?!
Мне удобно, всегда так делаю. Не вижу смысла в лесенках типа
end
else
begin
15 апр 21, 14:28    [22309360]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4654
_Vasilisk_
Если строка короткая. А если длинная пишу так

if
  Condition1 and
  Condition2
then begin
+2 тоже
только вот так
if Condition1 and
   Condition2
then begin


Сообщение было отредактировано: 15 апр 21, 14:23
15 апр 21, 14:30    [22309362]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
defecator
Member

Откуда:
Сообщений: 39795
_Vasilisk_
Barmaley57
Тебе реально так удобно расставлять begin'ы?!
Да. Если строка короткая. А если длинная пишу так

if
  Condition1 and
  Condition2
then begin

Тогда каждый end соответствует конкретному оператору


а я для сложных условий пишу вот так
if
  Condition1 
  and
  Condition2
then begin


тогда and/or не теряется в конце, условие сразу видно, чего с чем
15 апр 21, 14:33    [22309364]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5866
_Vasilisk_, непривычно тяжело читать...
15 апр 21, 16:13    [22309423]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 62816
defecator> тогда and/or не теряется в конце

Чтобы не терялись в конце - их можно писать
в начале (в той же строчке, не на отдельной).

Отступы делаешь, кстати?

Posted via ActualForum NNTP Server 1.5

15 апр 21, 18:08    [22309479]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
defecator
Member

Откуда:
Сообщений: 39795
Гаджимурадов Рустам
defecator> тогда and/or не теряется в конце

Чтобы не терялись в конце - их можно писать
в начале (в той же строчке, не на отдельной).

Отступы делаешь, кстати?


конечно делаю !

+
begin
     if FVideoSource.Video.Size = 0 then Exit ;

     try
        try
           { если сейчас НЕ режим сессии }
           if not SessionStarted then Exit ;

           { записать видео на диск }
           WriteFrame(FVideoSource.Video,FVideoSource.Motions,FVideoSource.CurrFPS) ;

           { настраиваем внутренний буфер }
           if (FBufferBmp.Width <> FVideoSource.Bmp.Width) or
              (FBufferBmp.Height <> FVideoSource.Bmp.Height)
            then FBufferBmp.Assign(FVideoSource.Bmp)
            else FBufferBmp.Canvas.Draw(0,0,FVideoSource.Bmp) ;

           { напускаем на картинку детектор }
           Test := FVideoSource.MotExists ;

           { движения нет - на выход }
           if not Test then Exit ;
           
           FVideoSource.MotDet.LoadToMotionRes(FMotRes) ;

           { вырезать картинку пробки или зоны движения }
           BoundRect := FMotRes.GetBoundRect(FBufferBmp.Canvas) ;

           PartW := BoundRect.Right  - BoundRect.Left ;
           PartH := BoundRect.Bottom - BoundRect.Top ;

           if (FPartBmp.Width <> PartW) or
              (FPartBmp.Height <> PartH) then
            begin
                 FPartBmp.Width := PartW ;
                 FPartBmp.Height := PartH ;
            end ;

           { отрисовать зону }
           FPartBmp.Canvas.CopyRect(Rect(0, 0, PartW,PartH),FBufferBmp.Canvas,BoundRect) ;

           { проверить наличие пробки }
           { определяем, пробка у нас в кадре или нет }
           ProbkaExists := RecogProbka(FPartBmp,aBLevel,aWLevel) ;

           if ProbkaExists then
            begin
                 { увеличить счетчик пробок }
                 IncrementBottlesCounter ;
            end ;
        except
15 апр 21, 18:17    [22309484]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 62816
defecator> конечно делаю !

Не, отступы внутри сложных булевых выражений. А-ля

(условие1)
and
(условие2
  or
условие3)

итп

Posted via ActualForum NNTP Server 1.5

15 апр 21, 18:55    [22309512]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
YuRock
Member

Откуда: Донецк
Сообщений: 4654
defecator
ProbkaExists := RecogProbka
15 апр 21, 19:13    [22309519]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 755
defecator
                 { увеличить счетчик пробок }
                 IncrementBottlesCounter ;

А почему не ProbkaCounter?)
15 апр 21, 20:31    [22309539]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
defecator
Member

Откуда:
Сообщений: 39795
Fr0sT-Brutal
defecator
                 { увеличить счетчик пробок }
                 IncrementBottlesCounter ;


А почему не ProbkaCounter?)

считались бутылки по пробкам - стоит камера над конвейером, который ползёт весьма быстро,
и надо было сосчитать количество бутылок за смену

причём только оптическое распознавание, никаких магнитиков и прочей шушеры

хороший заказной проект был из Казахстана, 2010-й год, тонны денег принёс

Сообщение было отредактировано: 15 апр 21, 20:27
15 апр 21, 20:35    [22309541]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
bk0010
Member

Откуда:
Сообщений: 5081
Barmaley57
Тебе реально так удобно расставлять begin'ы?!
Мне - очень. Смысл терять строку на begin? Экран не резиновый, читабельность ухудшается (из-за отступов, так сразу видно, чей end).
15 апр 21, 23:28    [22309595]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
fraks
Member

Откуда: Новосибирск
Сообщений: 1690
С некоторых пор я отказался от комментариев вида {} в пользу комментариев вида //
Минус фигурных скобок в том что если камент многострочный и закомментировать одну из скобок - то действие оставшейся распространяется совсем не туда куда нужно. Это ограничивает использование комментирования блока операторов в целях отладки.

Теперь всегда пишу // тем более что в GExperts есть шорткат что бы такими символами закоментировать/раскомментировать сразу все выделенные строки.

Так же, для удобства, после end пишу от чего этот begin.

  if SPR(9, id, sname) then begin
    EditSagc.Text := sname;
    Fsagc_id      := id;
  end;//if

    case err of
      1: MessageDlg(err_msg + 'В введенном коде содержатся не только цифры!'     , mtError, [mbOk], 0);
      2: MessageDlg(err_msg + 'Длина введенного кода не 10 цифр а '+ IntToStr(length(s)), mtError, [mbOk], 0);
      else
         MessageDlg(err_msg + 'Еще какая-то ошибка' , mtError, [mbOk], 0);
    end;//case


var
  id_ss_cor : integer; // id строки в таблице кодов поставщиков
  id_ss     : integer; // id источника кодов
begin
  // вставить новый код поставщика
  id_ss     := 0; // не знаем код какого поставщика будет вставлен
  id_ss_cor := SScorInsert(id_ss, Fid);
  if id_ss_cor > 0 then begin
    F5_CODE;
    CDV_Code.PositionID(id_ss_cor);
  end;//if
end;
16 апр 21, 03:52    [22309640]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5866
bk0010
читабельность ухудшается
Ну не знаю... по мне - как раз наоборот.
16 апр 21, 09:37    [22309680]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Barmaley57
Member

Откуда: Москва
Сообщений: 5866
Стандартный форматтер в среде согласен со мной))
16 апр 21, 09:39    [22309682]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65951
Блог
fraks
Минус фигурных скобок в том что если камент многострочный и закомментировать одну из скобок - то действие оставшейся распространяется совсем не туда куда нужно. Это ограничивает использование комментирования блока операторов в целях отладки.

Вот уж воистину - применить кривой метод, вляпаться в несуществующую проблему и отказаться от хорошей вещи ради её "решения".

"Комментирование в целях отладки" - довольно кривая практика, но если уж решил этим путём - попробуй как-нибудь использовать для этого (* такие комментарии *), тебя ждёт сюрприз.
16 апр 21, 10:14    [22309697]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65951
Блог
fraks
Так же, для удобства, после end пишу от чего этот begin.

И ещё венгерскую нотацию надо бы вспомнить. Дабы собрать все древние глупости в одном флаконе. Кстати, это "удобство" ярко иллюстрирует проблемы от неправильного позиционирования begin-а.

Сообщение было отредактировано: 16 апр 21, 10:08
16 апр 21, 10:15    [22309698]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Fr0sT-Brutal
Member

Откуда:
Сообщений: 755
fraks
Так же, для удобства, после end пишу от чего этот begin.

Для длинных блоков тоже пишу.

Вот так топик о Мак-адресе скатился в спор о стилях))
16 апр 21, 10:19    [22309700]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Kazantsev Alexey
Member

Откуда:
Сообщений: 5115
Египетские скобки в паскале, это капец...
16 апр 21, 10:21    [22309703]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 62816
fraks> Минус фигурных скобок в том что если камент
fraks> многострочный и закомментировать одну из скобок -
fraks> то действие оставшейся распространяется совсем
fraks> не туда куда нужно. Это ограничивает использование
fraks> комментирования блока операторов в целях отладки.

Про комментирование в целях отладки уже отметили,
но комментировать блоки надо не так

{
строка;
строка;
}


а так

{
строка;
строка;
{}


При чём независимо от IDE и языка.


fraks> Так же, для удобства, после end пишу от чего этот begin.

Только если длинные блоки (что уже плохо).
Отступы должны помогать, тем более щас IDE умеют
подсвечивать блоки (вот раньше проблема была, да).

Posted via ActualForum NNTP Server 1.5

16 апр 21, 11:44    [22309742]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32405

16.04.2021 11:44, Гаджимурадов Рустам пишет:
> Отступы должны помогать, тем более щас IDE умеют
> подсвечивать блоки (вот раньше проблема была, да).
>

CnPack отлично подсвечивает и на старых версияx IDE.
а писать "от чего конец" - маразм.

Posted via ActualForum NNTP Server 1.5

16 апр 21, 11:48    [22309744]     Ответить | Цитировать Сообщить модератору
 Re: Флейм про оформление и begin-end  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 12901
Мимопроходящий
а писать "от чего конец" - маразм.
Когда в конце процедуры образовывается лесенка из 4-5 end, то не такой и маразм
16 апр 21, 11:59    [22309751]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 10 11   вперед  Ctrl      все
Все форумы / Delphi Ответить