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

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

    +942

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static class IntExtension
        {
            public static int NotMoreThan(this int i, int thanWhat){
                return i < thanWhat ? thanWhat : i;
            }
        }

    непонятно что

    tjmaster, 06 Мая 2015

    Комментарии (70)
  3. Pascal / Говнокод #17759

    +94

    1. 1
    2. 2
    SetLength(kokoko, Length(kokoko)+1);
    kokoko[Length(kokoko)-1] := Something;

    БЕСИТ

    TarasB, 10 Марта 2015

    Комментарии (70)
  4. PHP / Говнокод #16269

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class WP_Post {
    	public static function get_instance( $post_id ) {
    		...
            }
    	public function __construct( $post ) {
    		foreach ( get_object_vars( $post ) as $key => $value )
    			$this->$key = $value;
    	}

    Вордпресс 3.9.1. Создать объект можно только из объекта. Ну или передав айдишник записи (что само по себе еще логично), но называется эта хуйня почему-то get_instance(), словно это синглтон.

    Fike, 02 Июля 2014

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

    +137

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public class Entity
    {
        // пример
        private DateTime _modified = new DateTime(2014, 4, 18, 23, 59, 59);
    
      public void SaveModified()
      {
                var date = DateTime.Parce(this._datetime.ToShortDateString());
                base.Save(date, ... );
      }
    }

    Продолжение проекта http://govnokod.ru/15780

    Насколько я понял, то это "операция усечения даты" 8-D
    которая должна была выглядеть так:
    var date = this._datetime.Date;

    CodeKiller, 19 Апреля 2014

    Комментарии (70)
  6. C++ / Говнокод #13727

    +14

    1. 1
    2. 2
    struct Ziga : std::exception {};
    throw Ziga();

    Теперь вы знаете как кинуть зигу в C++ !!

    PSIAlt, 02 Сентября 2013

    Комментарии (70)
  7. Pascal / Говнокод #13218

    +127

    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
    32. 32
    Function DiskInDrive(ADriveLetter : Char) : Boolean;
    var
      SectorsPerCluster,
      BytesPerSector,
      NumberOfFreeClusters,
      TotalNumberOfClusters   : Cardinal;
    begin
      Result := GetDiskFreeSpace(PChar(ADriveLetter+':\'),
                                  SectorsPerCluster,
                                  BytesPerSector,
                                  NumberOfFreeClusters,
                                  TotalNumberOfClusters);
    
    end;
    
    // еще один шедевр:
    
    var
     SR  : TSearchRec;
     Res : integer;
     OldErrMode : integer;
    begin
     // Запоминаем текущий режим обработки ошибок и устанавливаем SEM_FAILCRITICALERRORS
     // Это необходимо для подавления появления окна с сообщение о том, что устройство не готово
     OldErrMode = SetErrorMode(SEM_FAILCRITICALERRORS);
     try
      Res := FindFirst('a:\*.*', faAnyfile, SR);
      FindClose(SR);
     finally
      SetErrorMode(OldErrMode)
     end;
    end;

    С помощью этих процедур Олежик Зайцев на своем сайте предлагает определять доступность дисков, минуя сообщение WINDOWS "Диск не готов".
    Без комментариев.

    Stertor, 23 Июня 2013

    Комментарии (70)
  8. C# / Говнокод #13063

    +131

    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
    static uint ipToUint(byte[] ipBytes)
            {
            var bConvert = new ByteConverter();
            uint ipUint = 0;
            int shift = 24; //TODO: указывает количество бит для смещения лево
                foreach (byte b in ipBytes)
                {
                    if (ipUint == 0)
                    {
                        ipUint = (uint)bConvert.ConvertTo(b, typeof(uint)) << shift;
                        shift -= 8;
                        continue;
                    }
                    if (shift >= 8)
                        ipUint += (uint)bConvert.ConvertTo(b, typeof(uint)) << shift;
                    else
                        ipUint += (uint)bConvert.ConvertTo(b, typeof(uint));
                        shift -= 8;
                }
            return ipUint;
            }

    Функция конвертирующая массив байтов полученный из IPAddress.Parse("...").GetAddressBytes() в целочисленное представление.

    neeedle, 29 Мая 2013

    Комментарии (70)
  9. Куча / Говнокод #12377

    +84

    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
    >                          +
                              +++
                            +++++++
                         ++---[>++++++
                      +>+++++ +++ ++>++++
                             +++++
                           ++>++++++
                        +++++>+++++++++
                   +++>+++>++ +++ +++>++++++
                             ++++>
                          +++++++++++
                      +>+++>+++++++++>+++
                 +++++++>++++++++++>++++++++++
           +>+++><<<<<<<<<<<<<<<<-]>++>--->++>++>+>+
                             +>-->
                             +>->+
    +>->+>--->++++>+++><<<<<<<<<<<<<<<<>.>.>.>.>.>.>.>.>.>.+
    ->.>.>.>.>.[-]++++++++++.>[-]<[>+++<-]>++.....>+++++++++
    +[>+++++>+++++>+++++>+++++><<<<<-]>>-->->+><<<<<>.>.>.>.

    С новым 2013м годом!

    Пусть в новом году вас обойдут стороной индусизмы, баги и крестобатхерты,
    а красивые решения, чистый код и годные фичи не заставят себя ждать!

    bormand, 31 Декабря 2012

    Комментарии (70)
  10. Java / Говнокод #10721

    +102

    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
    public void set...(...){
      ...
      throw INVALID_PARAM;
    }
    public void set...(...){
      ...
      throw INVALID_PARAM;
    }
    public void set...(...){
      ...
      throw INVALID_PARAM;
    }
    
    ...
    private final static Exception INVALID_PARAM=new RuntimeException("Incorrect value!");

    3.14159265, 08 Июня 2012

    Комментарии (70)
  11. Куча / Говнокод #10407

    +124

    1. 1
    http://pastebin.com/Wz1AHMh8

    Поскольку на уютненьком снова завелся унылый флудер, выкладываю доработанную версию автоскрывателя коментариев.
    Теперь банановый с поддержкой аякс-подгрузки!

    Vindicar, 29 Мая 2012

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