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

    +97

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    /// До этой строчки еще больше 1000 строк кода (И это всё в ОДНОЙ процедур)
     finally
        if Main.RecordCount > 0
        then Main.First;
        Main.EnableControls;
        Panel2.Color:=clLime;
        lbTimeSpend.Caption:='Âðåìÿ çàòðà÷åíî:'+TimeToStr(time()-TimeWork);
      end;
    
      Exit;
    
      try
        if TmpCollect_Skd.IsSelectAll then
        begin
          Askd_count := TmpCollect_Skd.RxDBGrid1.DataSource.DataSet.RecordCount;
        end
     /// После этой строки еще более 1000 строк кода всё в этой же процедуре!

    Продолжим. Вот так люди используют Exit;

    Запостил: goodron, 28 Апреля 2010

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

    • Соль нужна. Напостил тут блин с три короба.
      Слабо было написать так? :
      //код...
      Exit;
      //никогда не выполняющийся код...
      Ответить
      • Так не интересно, если всё выкинуть, то будет слишком банально.
        Ответить
      • Это не говнокод. У самого такое было, например, какой-то функционал не нужен - проще выход из функции написать, чем кусок комментировать. Или переписывал функцию, чтобы видеть что раньше было, перед старым куском ставился выход.
        Ответить
        • Так это одно когда какое-то условие верно и там выход, а тут в любом случае выход.
          Ответить
          • В моих случаях выход был всегда, просто таким образом отрезал старый/не нужный код
            Ответить
        • Но как только такое попадает в production, оно становится 100% говном.
          Ответить
    • показать все, что скрытонаконец таки запостили с++
      Ответить
      • :p
        Ответить
      • А ты невьебенно плохой мальчик.
        Ответить
        • Хорошие мальчики пишут «невъебенно» с твёрдым знаком.
          Ответить
          • Ну я не такой уж и хороший... Чуть чуть хороший. :)
            Ответить
            • хоръоший.
              Ответить
              • Косишь под хорошего?
                Ответить
                • Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?Где здесь РЎ++?
                  Ответить
            • Вы сама скромность.
              Ответить
    • Самое главное же здесь Âðåìÿ çàòðà÷åíî:!
      Именем Âðåìÿ çàòðà÷åíî: объявляю говнокод удачным!
      Ответить
      • такой глюк возможен при копировании между разными программами, не обязательно что в коде так и есть
        Ответить
        • Не совсем. Это официальный глюк броланда, продукции броланда, и софта, написанного на продукции броланда. Эти чумовые сосиски что-то намудрили, поэтому:
          - из продукции броланда (цбуилдер, делфы) во всё, что угодно, кроме продукции броланда русский текст вставляется вот таким образом.
          - из продукции броланда и софта, написанного на продукции броланда в аналогичные им продукты вставляется просто зашибись.
          В этом случае автор при копировании открыл окно с дельфёй, а магии не делал.
          Если нужно вставить из продукции броланда в приличное приложение, нужно выполнить следующие магические действия:
          - переключить раскладку в окне на "русский";
          - скопировать из нужного окна нужный текст, выделив его;
          - можно безопасно вставлять в любое приложение, кодировка верная.

          Инфа 100%, я гарантирую это как цбуилдерник со стажем.
          Ответить
          • За способ с переключением раскладки огромное спасибо.

            Но это встречается не только в продукции борланда. Например, есть такая программка Homesite для верстки сайтов, при копирование русского текста, например, в ворд наблюдается точно такой же глюк
            Ответить
            • > и софта, написанного на продукции броланда
              Macromedia Homesite 5.5, что подвернулась под руку:
              Borland Delphi 4.0 - 5.0
              Ответить
          • "продукции броланда" - это эвфемизм? :)

            а я знал, что в борланде говнокодеры сидят
            Ответить
          • Бредятина... Но чтобы понять это надо избавляться от "что-то намудрили" и магии, которая антагонистична пониманию...
            Просто, когда выполняется копирование в клипборд из неюникодных приложений, то происходит автоматическая перекодировка в юникод, причем кодовая страница выбирается по текущей включенной раскладке для окна из которого происходит копирование. Обратное происходит еще интереснее... Но в этом нет сиплюсплюса, потому всемпох...
            Ответить
            • В этом есть магия броланда, которые не осилили юникот.
              Ответить
              • procedure TForm1.FormCreate(Sender: TObject);
                var
                s: string;
                begin
                s := 'редиска';
                end;

                end.

                Может быть давайте обсудим еще почему в TPfW не было поддержки юникода?
                Ответить
        • такой глюк возможен при копировании между разными быдлопрограммами, не осилившими юникод, не обязательно что в коде так и есть
          fixed
          Ответить
    • не факт, что человек открывал исходник именно в Дельфях, и еще неизвестно каким браузером он пользуется. по-этому глюк кодировок вполне объясним. а по поводу кода, то ниче нет плохого в использовании exit, было интереснее посмотреть на несколько строк из той тысячи сверху. что-то мне подсказывает, что там обработка базы данных вручную. если так, то похоже на гавнокод
      Ответить
    • Это не говнокод, это говнокамент...
      Лучше бы обернули в {$IFDEF NOT_DEFINED}/{$ENDIF}, а еще лучше юзать системы контроля версий и вытирать атавизмы из исходников без боязни невозвращения
      Ответить
    • это не говнокод)
      с Exit просто косяк.
      А вообще, говнокод должен быть краток, суров, безжалостен и беспощаден.
      Ответить

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