1. Лучший говнокод

    В номинации:
    За время:
  2. Java / Говнокод #13294

    +80

    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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    if ( response == null || request == null ) {
          return;
        }
    
        if ( request.getHeader() != null
          && request.getHeader().getChannel() != null
          && request.getHeader().getChannel().getSubChannel() != null
          && request.getHeader().getChannel().getSubChannel().getSubChannel() != null
          && request.getHeader().getChannel().getSubChannel().getSubChannel().getName() != null
          && !request.getHeader()
            .getChannel()
            .getSubChannel()
            .getSubChannel()
            .getName()
            .equalsIgnoreCase( "XXX" ) ) {
          if ( response.getResponseObject() != null
            && response.getResponseObject().getReservation() != null
            && response.getResponseObject().getReservation().getRate() != null
            && response.getResponseObject().getReservation().getRate().getRoom() != null
            && response.getResponseObject()
              .getReservation()
              .getRate()
              .getRoom()
              .getBedType() != null ) {
            response.getResponseObject()
              .getReservation()
              .getRate()
              .getRoom()
              .setBedType( null );
          }
        }

    Индус. Спасибо что два if'a

    madhead, 03 Июля 2013

    Комментарии (45)
  3. C++ / Говнокод #12765

    +13

    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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    class session {
    public:
        session(int id, boost::asio::io_service &io_service) :
            id(id),
            timer(io_service)
        {
            timer.expires_from_now(session_timeout);
            timer.async_wait(boost::bind(&session::on_timeout, this, _1));
        }
    
        void on_timeout(const boost::system::error_code &error) {
            if (error)
                return;
            std::cout << "Session timed out " << id << std::endl;
        }
    
    private:
        int id;
        boost::asio::deadline_timer timer;
    };
    
    std::map<boost::asio::ip::udp::endpoint, boost::shared_pointer<session> > sessions;

    sessions.erase(endpoint) приводит к небольшому насилию над трупом сессии... Ничего конечно не вылетает, и никогда не сломается, но совесть мучает, неприятно пользоваться UB'ом.

    bormand, 18 Марта 2013

    Комментарии (45)
  4. Pascal / Говнокод #11824

    +100

    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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    procedure TDetailForm.GridPanel1Click(Sender: TObject);
    var
      i: Integer;
      s: String;
    begin
      //set title and subtitle
      if Pos('Item', TControl(Sender).Name) > 0 then begin
        if Sender.ClassName = 'TImage' then begin
          i := Length(TControl(Sender).Name) - Length('ItemImage') - 1;
          s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
          ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
          ItemSubtitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
        end else if Pos('ItemSubTitle', TControl(Sender).Name) > 0 then begin
          ItemSubtitle.Caption := TLabel(Sender).Caption;
          i := Length(TControl(Sender).Name) - Length('ItemSubTitle') - 1;
          s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
          ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
        end else if Pos('ItemDescription', TControl(Sender).Name) > 0 then begin
          i := Length(TControl(Sender).Name) - Length('ItemDescription') - 1;
          s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
          ItemTitle.Caption := TLabel(DetailForm.FindComponent('ItemTitle' + s)).Caption;
          ItemSubtitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
        end else begin
          ItemTitle.Caption := TLabel(Sender).Caption;
          i := Length(TControl(Sender).Name) - Length('ItemTitle') - 1;
          s := Copy(TControl(Sender).Name, Length(TControl(Sender).Name) - i, Length(TControl(Sender).Name));
          ItemSubTitle.Caption := TLabel(DetailForm.FindComponent('ItemSubTitle' + s)).Caption;
        end;
      end;
    end;

    Код из шаблона New Metropolis UI Application в новом Delphi XE3. Рефлексия так и прет.

    kipar, 23 Сентября 2012

    Комментарии (45)
  5. C++ / Говнокод #11413

    +32

    1. 1
    2. 2
    3. 3
    4. 4
    typedef typename _STD tr1::conditional<
            _STD tr1::is_same<key_type, value_type>::value,
            const_iterator,
            _Tree_iterator<_Mybase> >::type iterator;

    Шаблоны на шаблонах и шаблонами погоняют.

    Fai, 14 Июля 2012

    Комментарии (45)
  6. Си / Говнокод #10058

    +138

    1. 1
    memset(cb->chars, cb->width * cb->height, ' ');

    Мой однострочный эпик фейл.

    bormand, 27 Апреля 2012

    Комментарии (45)
  7. 1C / Говнокод #9140

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    с = 0;
    Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
    	нстчТовары = НоваяНалоговая.Товары.Добавить();
    	нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
    	нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
    	нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена; 
    	...
    	нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
    	с = с + 1;
    КонецЦикла;

    Ни шагу без счетчика! Особенно в итераторе. =)

    zfilin, 16 Января 2012

    Комментарии (45)
  8. Си / Говнокод #8689

    +111

    1. 1
    2. 2
    3. 3
    for(x = 1; x; x += x)
      if(!(((e*x)%m)/t))
      { x = d; break; }

    Недавно прислали с вопросом: "Тут что-то поломалось, надо исправить... Поможешь?"

    TarTar, 30 Ноября 2011

    Комментарии (45)
  9. Си / Говнокод #8287

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    vec->elements = realloc(vec->elements, sizeof(struct _vector_element)*newcapacity);
                if(vec->elements == NULL) {
                    // Lol. All your data is lost.
                    vc_set_error("Unable to allocate space for elements.");
                    return 1;
                }

    Автор не догадался сохранить старый указатель.

    danilissimus, 24 Октября 2011

    Комментарии (45)
  10. C++ / Говнокод #7858

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    void IniRead(UnicodeString Name, int n)
    {
    	TStringList* lst=new TStringList;
    	Ini->WriteString("CardNames","Card"+(UnicodeString)n,Name);
    }

    чувак создал переменную lst просто так, для теплоты душевной. ну хотелось ему чтоб создался stringlist!

    phys-tech, 14 Сентября 2011

    Комментарии (45)
  11. C++ / Говнокод #7237

    +159

    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
    18. 18
    19. 19
    #include <iostream>
    
    class Schotchik { public:
    Schotchik();
    Schotchik(int znach);
    ~Schotchik(){}
    int vzyat_znachenie()const { return znachenye; }
    void vstavit_znachenie(int x) {znachenye = x; }
    operator unsigned int();
    private: int znachenye; };
    Schotchik::Schotchik(): znachenye(0) {}
    Schotchik::Schotchik(int novoe_znachenie): znachenye(novoe_znachenie) {}
    Schotchik::operator unsigned int () { return ( int (znachenye) ); }
    
    void* main() {
    Schotchik ctr(5);
    int znachenye = ctr;
    std::cout << "znachenye: " << znachenye << std::endl;
    return 5 ; }

    Govnocoder#0xFF, 12 Июля 2011

    Комментарии (45)