Size: a a a

2020 October 23

YB

Yaroslav Brovin 👨‍🚀... in Delphi & Lazarus
6 Асхатчев
А как я без with был бы? 😢
сделал бы классовую оболочку сущностей, А не лепил в один скоп все методы php
источник

6 Асхатчев in Delphi & Lazarus
Я думал, но мне лень пока 10к строк перекидывать по классам. Не заметил как функции разрослись
источник

RY

Roman Yankovsky in Delphi & Lazarus
Почему goto никто не использует? Не умеют?
источник

AK

Alexey Kulakov in Delphi & Lazarus
у меня  вглазах рябит иной раз из-за кучи кода, потому мне просто приходится делать типа:
      with ainfo.Entries[i].Files[j] do
     begin
       checksum:=memReadDWord(aptr);
       ftype   :=memReadByte (aptr);
       name    :=memReadShortString(aptr);
       offset  :=memReadDWord(aptr);
       size_s  :=memReadDWord(aptr);
       if (ainfo.ver=verTL2) or (ainfo.ver=verTL2Mod) then
       begin
         ftime:=QWord(memReadInteger64(aptr));
       end;
     end;
источник

YB

Yaroslav Brovin 👨‍🚀... in Delphi & Lazarus
Alexey Kulakov
у меня  вглазах рябит иной раз из-за кучи кода, потому мне просто приходится делать типа:
      with ainfo.Entries[i].Files[j] do
     begin
       checksum:=memReadDWord(aptr);
       ftype   :=memReadByte (aptr);
       name    :=memReadShortString(aptr);
       offset  :=memReadDWord(aptr);
       size_s  :=memReadDWord(aptr);
       if (ainfo.ver=verTL2) or (ainfo.ver=verTL2Mod) then
       begin
         ftime:=QWord(memReadInteger64(aptr));
       end;
     end;
здесь только ты поймешь, что написано. и только когда пишешь этот код 😊
источник

AK

Alexey Kulakov in Delphi & Lazarus
Roman Yankovsky
Почему goto никто не использует? Не умеют?
сколько времени народ учили не использовать его ни в коему случае. Наверняка, многие просто не знают, как его использовать
источник

И

Илья in Delphi & Lazarus
Roman Yankovsky
Почему goto никто не использует? Не умеют?
Это молодежь, которая Бейсика не знает 🤣
источник

AK

Alexey Kulakov in Delphi & Lazarus
мало кто использует в паскале коды типа ^M или #$2F
источник

AK

Alexey Kulakov in Delphi & Lazarus
просто потому что не знают. Как в ФПЦ, например, строки в операторе case
источник

AK

Alexey Kulakov in Delphi & Lazarus
Yaroslav Brovin 👨‍🚀
здесь только ты поймешь, что написано. и только когда пишешь этот код 😊
да ладно! кусочек процедуры, где по именам уже некое понятие должно быть, что да как
источник

RY

Roman Yankovsky in Delphi & Lazarus
Alexey Kulakov
да ладно! кусочек процедуры, где по именам уже некое понятие должно быть, что да как
Почему не вынести внутренности этого with в отдельную функцию и тогда with не понадобится?
источник

RY

Roman Yankovsky in Delphi & Lazarus
Плюс у функции будет понятное человекочитамое имя, что автоматически улучшит понятность кода
источник

AK

Alexey Kulakov in Delphi & Lazarus
потому что кусок кода слишком мал, а вызов любой функции внутри цикла неоптимален по времени
источник

AK

Alexey Kulakov in Delphi & Lazarus
если б код был сложнее, можно было бы и вынести
источник

RY

Roman Yankovsky in Delphi & Lazarus
Ничего не мал, целых 10 строк
источник

RY

Roman Yankovsky in Delphi & Lazarus
Если он для функции мал, то он и  для with мал
источник

YB

Yaroslav Brovin 👨‍🚀... in Delphi & Lazarus
Alexey Kulakov
потому что кусок кода слишком мал, а вызов любой функции внутри цикла неоптимален по времени
Судя по всему, у тебя программа обычно - это одна большая глобальная ( * ) :D
источник

И

Илья in Delphi & Lazarus
Alexey Kulakov
если б код был сложнее, можно было бы и вынести
Я исхожу из таких же критериев. 4строки можно обернуть в with
источник

YB

Yaroslav Brovin 👨‍🚀... in Delphi & Lazarus
Alexey Kulakov
потому что кусок кода слишком мал, а вызов любой функции внутри цикла неоптимален по времени
можно всегда заинлайнить такой код, если тебя прямо беспокоит производительность
источник

YB

Yaroslav Brovin 👨‍🚀... in Delphi & Lazarus
При этом ты избавишь других разработчиков изучать весь твой код.
источник