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

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

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    Program upra;
    var s:string;
    i:integer;
    begin
    writeln ('vvesti stroku');
    readln(s);
    k:=0;
    for i:=1 to length(s) do
    if s='a' then
    s:='*';
    writeln(k);
    end

    Pascal. Меняем символ "а" на звёздочку. Школота детектед!

    ZLOvar, 13 Октября 2010

    Комментарии (7)
  3. PHP / Говнокод #4348

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (!mysql_query($query)) {
      echo 'Invalid query: '.mysql_error()."\n";
      die();
    } else {
      mysql_query($query);
    }

    Вот такой вот крутой дебаггер!

    Wivern, 12 Октября 2010

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

    +114

    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
    public partial class Chat : System.Web.UI.Page
    {
    ...
        private List<string> Messages
        {
            get { return (List<string>)Cache["messages"]; }
            set { Cache.Insert("messages", value); }
        }
    protected void btnAddMessage_Click(object sender, EventArgs e)
        {
            if (this.Messages != null)
            {
                this.Messages.Add(string.Format("{0} say :{1}\n", this.UserName, tbUserMessage.Text));
                // wai... oh shi---
                this.Messages = this.Messages;
            }
        }
    }

    mozg_raka, 11 Октября 2010

    Комментарии (7)
  5. PHP / Говнокод #4285

    +160

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    /*
    [... выдержки из файла functions.php ...]
    */
    function secure_input_string($string,$strip = true) {
    	/*Функция позволяет обезопасить вводимые пользователем данные путем применения ряда функций в входной строке
    	 * Входная строка должна быть текстом (string) */
    	if ((bool)$strip) {
    		//Усечение пробелов
    		$string = trim($string);
    		//Удаление PHP и HTML тегов
    		//$string = strip_tags($string);
    		//Перевод специальных символов в html эквиваленты
    		$string = htmlspecialchars($string);
    		//Отмена спец-символов обратными косыми чертами
    	}
    	//Удаление попыток вставки кода php или xml
    	$badcode = array('<?php','?>');
    	$code = array('<','>');
    	$string = str_replace($badcode,$code,$string);
    	return $string;
    }
    
    function get_rus_date($ymy) {
    	/*Функция для замены английский названий месяцев русскими названиями*/
    	//Предпологается, что данные поступили в формате ДД JAUNARY 2010, иначе выполнение функции не имеет смысла
    	//Массив с датами на английском
    	$eng = array('January','February','March','April','May','June','July','August','September',
    				'October','November','December');
    	//Массив с датами на русском
    	$rus = array('Январь','Февраль','Март','Апрель','Май','Июнь','Июль','Август','Сентябрь',
    				'Октябрь','Ноябрь','Декабрь');
    	//Замена английских месяцов на русские
    	$ymy = str_replace($eng,$rus,$ymy);
    	return $ymy;
    }
    
    function str_size($size) {
    	//Функция для предаставления размера файла из функции filesize (возвращающуу байты) в удобочитаемый вид
    	//Приведение к строковому типу
    	$size = (string)$size;
    	if (strlen($size) == 0) {
    		//Не удалось получить размер файла
    		return false;
    	}
    	else if (strlen($size) <= 3) {
    		//Размер указан в Байтах
    		return $size.' byte';
    	}
    	else if (strlen($size) >= 4 && strlen($size) < 7) {
    		//Размер указан в Килобайтах
    		$size = (int)$size;
    		$size_k = $size/1024;
    		//Удалить двойную точность
    		$size_k = (int)$size_k;
    		return $size_k.' Kb';
    	}
    	else if (strlen($size) >= 7 && strlen($size) < 10) {
    		//Размер указан в Мегабайтах
    		$size = (int)$size;
    		$size_m = $size/1024;
    		$size_m = $size_m/1024;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Мб';
    		return $size_m;
    	}
    	else if (strlen($size) >= 10 && strlen($size) < 13) {
    		//Размер указан в Гигабайтах
    		$size = (int)$size;
    		$size_m = $size/1073741824;
    		//Оставить только один знак после точки
    		$size_m = round($size_m,1);
    		$size_m = $size_m.' Гб';
    		return $size_m;
    	}
    	else {

    Продолжение трагикомической эпопеи http://govnokod.ru/4278
    Орфография и пунктуация сохранены

    istem, 20 Сентября 2010

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

    +98

    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
    //
    // Замена блоков __try/__finally нашей реализацией. Примеры использования:
    // NTSTATUS SomeFunc() {
    //     X *p = NULL;
    //     NTSTATUS status = STATUS_SUCCESS;
    //     Try {
    //         p = new(NonPagedPool) X;
    //         if (!p) Leave(status = STATUS_INSUFFICIENT_RESOURCES);
    //
    //         status = SomeKernelFunc();
    //         LeaveNS(status = STATUS_UNSUCCESSFUL);
    //     } Finally {
    //         if (p) delete p;
    //     }
    //     return status;
    // }
    //
    #define Try if (1)
    #define Finally try_exit: NOTHING
    #define Leave(s) { s; goto try_exit; }
    #define LeaveNS(s) {if (!NT_SUCCESS(status)) Leave(s);}
    #define Run(s) {status = s; LeaveNS(;);}

    Суровые исключения для Win32 драйвера

    rat4, 16 Сентября 2010

    Комментарии (7)
  7. Си / Говнокод #4253

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    switch (n)
    {
        case k:
            some_action;
        case k - 1:
            some_action;
        ...
        case 2:
            some_action;
        case 1:
            some_action;
    }

    - когда может быть удобно использование switch без break'ов?
    - например, когда хотите повторить операцию сколько-то раз

    nagato, 14 Сентября 2010

    Комментарии (7)
  8. VisualBasic / Говнокод #4245

    −153

    1. 1
    2. 2
    3. 3
    10 IF 256 > 255 THEN PRINT "Pozdravlyaem s Dnem programmista!" : GOTO 40
    30 PRINT "Bugagaga! Ktulhu woke up!!"
    40 END

    Поздравление с днём программиста от HH.ru. Впрочем, там многие хороши: http://kazan.hh.ru/news.xml?id=929

    rishatbitmaster, 14 Сентября 2010

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

    +125

    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
    command = new System.Data.SqlClient.SqlCommand();
    command.Connection = connection;
    
    command.CommandText = "select data from filestorage where id=@id;";            
    command.Parameters.AddWithValue("@id", fileId);
    command.CommandType = CommandType.Text;
    byte[] data = (byte[])command.ExecuteScalar();
    
    command.CommandText = "select filename from filestorage where id=@id;";
    string fName = (string)command.ExecuteScalar();
    
    command.CommandText = "select sizebytes from filestorage where id=@id;";
    long lngFileSize = (int)command.ExecuteScalar();
    
    command.CommandText = "select foldername from filestorage where id=@id;";
    string store= command.ExecuteScalar().ToString();

    akai_mirror, 11 Сентября 2010

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

    +162

    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
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    int main(int argc, char* argv[])
    {
    // Массив русских букв:
            char c[33], s[33];
    // Заглавные буквы:
            c[0] = 0x80; // А
            c[1] = 0x81; // Б
            c[2] = 0x82; // В
            c[3] = 0x83; // Г
            c[4] = 0x84; // Д
            c[5] = 0x85; // Е
            c[6] = 0x86; // Ж
            c[7] = 0x87; // З
            c[8] = 0x88; // И
            c[9] = 0x89; // Й
            c[10] = 0x8A; // К
            c[11] = 0x8B; // Л
            c[12] = 0x8C; // М
            c[13] = 0x8D; // Н
            c[14] = 0x8E; // О
            c[15] = 0x8F; // П
            c[16] = 0x90; // Р
            c[17] = 0x91; // С
            c[18] = 0x92; // Т
            c[19] = 0x93; // У
            c[20] = 0x94; // Ф
            c[21] = 0x95; // Х
            c[22] = 0x96; // Ц
            c[23] = 0x97; // Ч
            c[24] = 0x98; // Ш
            c[25] = 0x99; // Щ
            c[26] = 0x9A; // Ъ
            c[27] = 0x9B; // Ы
            c[28] = 0x9C; // Ь
            c[29] = 0x9D; // Э
            c[30] = 0x9E; // Ю
            c[31] = 0x9F; // Я
            c[32] = 0xF0; // Ё
    // Прописные буквы:
            s[0] = 0xA0; // а
            s[1] = 0xA1; // б
            s[2] = 0xA2; // в
            s[3] = 0xA3; // г
            s[4] = 0xA4; // д
            s[5] = 0xA5; // е
            s[6] = 0xA6; // ж
            s[7] = 0xA7; // з
            s[8] = 0xA8; // и
            s[9] = 0xA9; // й
            s[10] = 0xAA; // к
            s[11] = 0xAB; // л
            s[12] = 0xAC; // м
            s[13] = 0xAD; // н
            s[14] = 0xAE; // о
            s[15] = 0xAF; // п
            s[16] = 0xE0; // р
            s[17] = 0xE1; // с
            s[18] = 0xE2; // т
            s[19] = 0xE3; // у
            s[20] = 0xE4; // ф
            s[21] = 0xE5; // х
            s[22] = 0xE6; // ц
            s[23] = 0xE7; // ч
            s[24] = 0xE8; // ш
            s[25] = 0xE9; // щ
            s[26] = 0xEA; // ъ
            s[27] = 0xEB; // ы
            s[28] = 0xEC; // ь
            s[29] = 0xED; // э
            s[30] = 0xEE; // ю
            s[31] = 0xEF; // я
            s[32] = 0xF1; // ё
    // Конец массива.
    
            cout << c[21] << s[14] << "-" << s[21] << s[14] << "!\n"; // Хо-хо!
    
            getch();
            return 0;
    }

    Когда я ещё не знал, как выводить в консоли русские буквы, спел и натанцевал индийский код.

    novemberdreamer, 08 Сентября 2010

    Комментарии (7)
  11. PHP / Говнокод #4189

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $a = "1";
    $b = "$a";
    
    if($a == $b) {
    echo '$a = $b';
    }

    Восемь часов за компом.. Посмотрел на код еще раз :D

    bafoed, 07 Сентября 2010

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