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

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

    0

    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
    from tkinter import *
     
    class Space():
        def __init__(self):
            object=Tk()
                    object=Canvas(root, bg="green")
            object.pack()
            object.mainloop()
    class Line():
        def __init__(self, space):
            space.create_line(x, y, x1,y1)
     
    root=Space()
    canv=Line(root)

    Отсюда http://python.su/forum/topic/34021/

    Самое удивительное, что автор шедевра некто Jeka_KOzolup1 - учитель информатики, причем у него довольно высокое мнение о своих преподавательских способностях.

    FishHook, 07 Ноября 2017

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

    +2

    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
    <?php
    class SmsController extends Controller
    {
        protected static $currentYear;
    
        public static function currentYear()
        {
            if (is_null(self::$currentYear)) {
                self::$currentYear = date('Y');
            }
    
            return self::$currentYear;
        }
    ?>

    :-D

    FireDemonru, 24 Октября 2017

    Комментарии (46)
  4. Куча / Говнокод #23380

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <div th:replace="fragments/block/main/main_block1 :: block"></div>
    <div th:replace="fragments/block/main/main_block2 :: block"></div>
    <div th:replace="fragments/block/main/main_block3 :: block"></div>
    <div th:replace="fragments/block/main/main_block4 :: block"></div>
    <div th:replace="fragments/block/main/main_block5 :: block"></div>
    <div th:replace="fragments/block/main/main_block6 :: block"></div>
    <div th:replace="fragments/block/main/main_block7 :: block"></div>

    Влад "Антикоммит", ты надоел

    RaZIeL, 03 Октября 2017

    Комментарии (46)
  5. Си / Говнокод #20958

    +1004

    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
    // shit.h :
    
    #if END_SHIT == 0
    bagor++;
      #if BIT0 == 0
        #undef  BIT0
        #define BIT0 1
      #else
        #undef  BIT0
        #define BIT0 0
        #if BIT1 == 0
          #undef  BIT1
          #define BIT1 1
        #else
          #undef  BIT1
          #define BIT1 0
          #if BIT2 == 0
            #undef  BIT2
            #define BIT2 1
          #else
            #undef  BIT0
            #undef  BIT1
            #undef  BIT2
            #define END_SHIT 1
          #endif
        #endif
      #endif
      #include "shit.h"
    #endif
    
    //shit.c
    
    #include <stdio.h>
    
    int main(void) {
      int bagor = 0;
      #define BIT0 0
      #define BIT1 0
      #define BIT2 0
      #include "shit.h"
      printf("bagor = %i\n", bagor);
      return 0;
    }

    http://govnokod.ru/20947#comment348047
    CHayT 3 часа назад # 0
    > нет ни циклов, ни рекурсий

    Можно, думаю, файлы сами в себя инклудить, чем не рекурсия. Не очень понятно, что с этим делать, правда.

    -----

    Но ведь совершенно очевидно, что с этим можно делать. Очередной шедевр макроговна

    j123123, 25 Августа 2016

    Комментарии (46)
  6. PHP / Говнокод #20330

    +8

    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
    //как создать сильный пароль в php
    $hp = md5(md5(md5(strong($_POST['hp']))));  // типо наш пароль
    
    //а что же такое strong?? 
    
    ###############################
    ######## Фильтрация ###########
    ###############################
    function strong($msg){
    $msg = trim($msg);
    $msg = htmlspecialchars($msg);
    $msg = mysql_escape_string($msg);
    return $msg;
    }

    Мануал по шифрованию паролей.

    eskrano, 05 Июля 2016

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

    0

    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
    require_once ('./main/config.php');
    class user 
    {
        /* 
        private login;
        private password;
        private username;
        private about;
        */
        
        function registerUser($login, $password, $username, $about)
        {
            $db = MysqliDb::getInstance();
            $data = Array ("login" => $login,
                   "password" => $password,
                   "username" => $username,
                   "about" => $about,
            );
            $id = $db->insert ('users', $data);
            if($id)
                echo 'user was created. Id=' . $id;
        }
        
        function authorizeUser($login, $password)
        {
            $db->where ("id", 1);
            $user = $db->getOne ("users");
            echo $user['id'];
            /*
            $logins = $db->getValue ("users", "login", null);
            // select login from users
            // select login from users limit 5
            foreach ($logins as $login)
            echo $login;
            */
        }
        
        
    }

    Ну как вам? Класс юзера для регистрации и авторизации (недоделан)

    Folsky, 18 Мая 2016

    Комментарии (46)
  8. PHP / Говнокод #19919

    0

    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
    80. 80
    81. 81
    82. 82
    83. 83
    // Функция определения мобильных браузеров
      public static function is_mobile(){
        $user_agent=strtolower(getenv('HTTP_USER_AGENT'));
        $accept=strtolower(getenv('HTTP_ACCEPT'));
       
        if ((strpos($accept,'text/vnd.wap.wml')!==false) || (strpos($accept,'application/vnd.wap.xhtml+xml')!==false)){
          return 1; // Мобильный браузер обнаружен по HTTP-заголовкам
        }
       
        if (isset($_SERVER['HTTP_X_WAP_PROFILE']) || isset($_SERVER['HTTP_PROFILE'])){
          return 2; // Мобильный браузер обнаружен по установкам сервера
        }
       
        if (preg_match('/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|'.
        'wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|'.
        'lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|'.
        'mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|'.
        'm881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|'.
        'r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|'.
        'i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|'.
        'htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|'.
        'sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|'.
        'p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|'.
        '_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|'.
        's800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|'.
        'd736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |'.
        'sonyericsson|samsung|240x|x320vx10|nokia|sony cmd|motorola|'.
        'up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|'.
        'pocket|kindle|mobile|psp|treo)/', $user_agent)){
          return 3; // Мобильный браузер обнаружен по сигнатуре User Agent
        }
       
        if (in_array(substr($user_agent,0,4),
          Array("1207", "3gso", "4thp", "501i", "502i", "503i", "504i", "505i", "506i",
          "6310", "6590", "770s", "802s", "a wa", "abac", "acer", "acoo", "acs-",
          "aiko", "airn", "alav", "alca", "alco", "amoi", "anex", "anny", "anyw",
          "aptu", "arch", "argo", "aste", "asus", "attw", "au-m", "audi", "aur ",
          "aus ", "avan", "beck", "bell", "benq", "bilb", "bird", "blac", "blaz",
          "brew", "brvw", "bumb", "bw-n", "bw-u", "c55/", "capi", "ccwa", "cdm-",
          "cell", "chtm", "cldc", "cmd-", "cond", "craw", "dait", "dall", "dang",
          "dbte", "dc-s", "devi", "dica", "dmob", "doco", "dopo", "ds-d", "ds12",
          "el49", "elai", "eml2", "emul", "eric", "erk0", "esl8", "ez40", "ez60",
          "ez70", "ezos", "ezwa", "ezze", "fake", "fetc", "fly-", "fly_", "g-mo",
          "g1 u", "g560", "gene", "gf-5", "go.w", "good", "grad", "grun", "haie",
          "hcit", "hd-m", "hd-p", "hd-t", "hei-", "hiba", "hipt", "hita", "hp i",
          "hpip", "hs-c", "htc ", "htc-", "htc_", "htca", "htcg", "htcp", "htcs",
          "htct", "http", "huaw", "hutc", "i-20", "i-go", "i-ma", "i230", "iac",
          "iac-", "iac/", "ibro", "idea", "ig01", "ikom", "im1k", "inno", "ipaq",
          "iris", "jata", "java", "jbro", "jemu", "jigs", "kddi", "keji", "kgt",
          "kgt/", "klon", "kpt ", "kwc-", "kyoc", "kyok", "leno", "lexi", "lg g",
          "lg-a", "lg-b", "lg-c", "lg-d", "lg-f", "lg-g", "lg-k", "lg-l", "lg-m",
          "lg-o", "lg-p", "lg-s", "lg-t", "lg-u", "lg-w", "lg/k", "lg/l", "lg/u",
          "lg50", "lg54", "lge-", "lge/", "libw", "lynx", "m-cr", "m1-w", "m3ga",
          "m50/", "mate", "maui", "maxo", "mc01", "mc21", "mcca", "medi", "merc",
          "meri", "midp", "mio8", "mioa", "mits", "mmef", "mo01", "mo02", "mobi",
          "mode", "modo", "mot ", "mot-", "moto", "motv", "mozz", "mt50", "mtp1",
          "mtv ", "mwbp", "mywa", "n100", "n101", "n102", "n202", "n203", "n300",
          "n302", "n500", "n502", "n505", "n700", "n701", "n710", "nec-", "nem-",
          "neon", "netf", "newg", "newt", "nok6", "noki", "nzph", "o2 x", "o2-x",
          "o2im", "opti", "opwv", "oran", "owg1", "p800", "palm", "pana", "pand",
          "pant", "pdxg", "pg-1", "pg-2", "pg-3", "pg-6", "pg-8", "pg-c", "pg13",
          "phil", "pire", "play", "pluc", "pn-2", "pock", "port", "pose", "prox",
          "psio", "pt-g", "qa-a", "qc-2", "qc-3", "qc-5", "qc-7", "qc07", "qc12",
          "qc21", "qc32", "qc60", "qci-", "qtek", "qwap", "r380", "r600", "raks",
          "rim9", "rove", "rozo", "s55/", "sage", "sama", "samm", "sams", "sany",
          "sava", "sc01", "sch-", "scoo", "scp-", "sdk/", "se47", "sec-", "sec0",
          "sec1", "semc", "send", "seri", "sgh-", "shar", "sie-", "siem", "sk-0",
          "sl45", "slid", "smal", "smar", "smb3", "smit", "smt5", "soft", "sony",
          "sp01", "sph-", "spv ", "spv-", "sy01", "symb", "t-mo", "t218", "t250",
          "t600", "t610", "t618", "tagt", "talk", "tcl-", "tdg-", "teli", "telm",
          "tim-", "topl", "tosh", "treo", "ts70", "tsm-", "tsm3", "tsm5", "tx-9",
          "up.b", "upg1", "upsi", "utst", "v400", "v750", "veri", "virg", "vite",
          "vk-v", "vk40", "vk50", "vk52", "vk53", "vm40", "voda", "vulc", "vx52",
          "vx53", "vx60", "vx61", "vx70", "vx80", "vx81", "vx83", "vx85", "vx98",
          "w3c ", "w3c-", "wap-", "wapa", "wapi", "wapj", "wapm", "wapp", "wapr",
          "waps", "wapt", "wapu", "wapv", "wapy", "webc", "whit", "wig ", "winc",
          "winw", "wmlb", "wonu", "x700", "xda-", "xda2", "xdag", "yas-", "your",
          "zeto", "zte-"))) {
            return 4; // Мобильный браузер обнаружен по сигнатуре User Agent
        }
       
        return false; // Мобильный браузер не обнаружен
      }

    Все те же адепты битрикса. Наслаждайтесь https://github.com/raVidok/bitrix/blob/master/%D0%A4%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0% B8%2C%20%D0%BA%D0%BB%D0%B0%D1%81%D1%81%D 1%8B/%D0%9E%D0%B1%D1%89%D0%B8%D0%B9%20%D0%BA% D0%BB%D0%B0%D1%81%D1%81%20%D1%81%20%D0%B F%D0%BE%D0%BB%D0%B5%D0%B7%D0%BD%D0%BE%D1 %81%D1%82%D1%8F%D0%BC%D0%B8/func.php

    P.S. С нетерпением ждем кодов 5, 6 и 7 :)

    Keeper, 03 Мая 2016

    Комментарии (46)
  9. JavaScript / Говнокод #19674

    +5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    (function extend(o, l) {
      return Object.defineProperty(o, 'this', { 
        get: O => extend(O = (x, y) => y ? o(x, O(x, y - 1)) : l ^ 1)
      });
    })(this.this = (x, y) => x + y, 1);

    Почти стрелочная нотация Кнута.
    this.this(2,3) = 2 + 3
    this.this.this(2,3) = 2 * 3
    this.this.this.this(2,3) = 2 ↑ 3
    this.this.this.this.this(2,3) = 2 ↑↑ 3 и т.д.
    По следам http://govnokod.ru/19651#comment317168.

    1024--, 22 Марта 2016

    Комментарии (46)
  10. Куча / Говнокод #19085

    0

    1. 1
    2. 2
    3. 3
    4. 4
    Астрологи объявили неделю постов с хабра. 
    
    Взоржал.  
    http://habrahabr.ru/company/edison/blog/271621/

    Vasiliy, 25 Ноября 2015

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

    +66

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Компиляторами являются:
    1. С++
    2. Паскаль
    3. Ассемблер
    4. Unix

    Какой-то жопоразрывающий тест по с++ из ивановской области
    http://hashcode.ru/questions/398214/

    Fike, 10 Февраля 2015

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