1. Pascal / Говнокод #2412

    +144.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    function ... : Integer;
    var
      i:integer;
    begin
      Result := 0;
      for i := 1 to ... do
        if bla-bla then
          inc(Result);
      Result := Result;
    end;

    Запостил: popa, 14 Января 2010

    Комментарии (17) RSS

    • Result := <something> ;
      аж перетряхивает от этого
      Ответить
      • Вообще-то функции на дельфах именно так и пишутся? Или тебя вообще от дельфы перетряхивает?
        Ответить
        • все же у поцкаля/делфи унылый синтаксис
          да и вообще после функциональщины отвыкаешь от всех этих result, return, etc
          Ответить
    • Автору - а как этот код должен на самом деле выглядеть? Под бла-бла может быть что угодно, так что код вполне нормален.
      Или теперь модно всё, что связано с Дельфи, называть говном?
      Ответить
      • Result := Result;


        Ну да, и эта строка тоже преисполнена смысла.
        Ответить
    • мне кажется автору не нравится строчка, когда переменная присваивается самой себе)
      Result := Result;
      Дак и выложил бы одну эту строку)
      Ответить
    • да именно Result := Result; меня убил...
      Ответить
    • Постер - лох.
      Result:=Result - крайне полезная конструкция. Она вырезается оптимизатором, если он включён (например, релиз) и остаётся, если оптимизатор выключен (например, в отладочной версии). В последнем случае можно поставить на эту строчку брейкпоинт и узнать, что там навычисляла функция, т.к. внутри функции подобной структуры никак иначе нельзя это сделать (теряются регистровые переменные).
      Ответить
      • Во, всё толково разъяснил.
        Ответить
      • В дебаге оптимизация работает, вы перепутали с каким-то говноязыком. А для этих целей есть либо отладочный вывод, либо
        {$IFDEF DEBUG}
        {$O-}
        {$ENDIF}
        Ответить
    • спс, буду знать
      Ответить
    • А на inc(Result) поставить breakpoint нельзя или на условие if?! На вызов функции и посмотреть что она вернула в конечном итоге? По-моему "Result:=Result - крайне полезная конструкция" - это полная фигня и бред.
      Ответить
    • 2Grizzly
      если нужно именно значение функции - то нельзя. или ты хочешь каждую итерацию цикла отлаживать? или ставить кучу брекпоинтов во всех местах где вызывается эта функция?
      PS: хотя я при отладке ставлю бряку на конечный end
      Ответить
      • "или ставить кучу брекпоинтов во всех местах где вызывается эта функция?"
        хм... ладно убедили :) может кому-то и удобно
        Ответить
    • а result:=... вместо дебильного цикла написать нельзя было?
      Ответить
    • syntax error != говнокод
      апстена.
      Ответить

    Добавить комментарий