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

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

    −134

    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
    private function onButtonModeClick(e:MouseEvent):void 
    {
    	if (_mode == 0)
    	{
    		myButtonMode.setTxtLabel("дизайнеры");
    		_mode++;
    	}
    	else if (_mode == 1)
    	{
    		myButtonMode.setTxtLabel("стажеры");
    		_mode++;
    	}
    	else if (_mode == 2)
    	{
    		myButtonMode.setTxtLabel("программисты");
    		_mode = 0;
    	}
    }

    nightrain912, 02 Апреля 2015

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

    +18

    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
    #include <iostream>
    
    #define PRINT(val) std::cout << #val \
                                 << " value: " << val \
                                 << " address: " << &val << std::endl; 
    int& constRef(){
        int var = 10;
        PRINT(var)
        return var;
    }
    
    int main() {
       const int a = 'a', b = 'bcde';
       std::cout << a << " " << b << std::endl;
       const int& ref = constRef();  
       PRINT(ref)  
    }

    Малоизвестный синтаксис плюсов.
    1. Инициализация целочисленного значения из строки (используется в строках-классах времени компиляции).
    2. Константная ссылка на стековый объект (используется для создания DSL, в т.ч. boost::spirit).
    P.S.: Более полный вариант со строками лежит на форуме.

    crastinus, 28 Декабря 2013

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

    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
    Говновозный оффтоп #2
           _.--,_......----..__
           \  .'          '    ```--...__      \
            \;           '            .  '.   ||
            :           '            '     \ .''.
          .';          :            '       .|  |.--..___
         /   \         |           :        :|  /.------.\
        /    .'._      :           |        ||  ||      |\\
       /.-. /|-| `-.               :        ;|  ||______|_\`.______
      //  // |-|    \   '           '      / |  ||='      | |      `.
     //  //\\|-|     `-._'           '   .'  |  ||        | |        \
    /.-.//  \\-|_________```------------` ___'. ||        | '_.--.   <)
    '._.'  /  .-----.   .-----.   .''''''''.    |'--..____| /  _  \   |
           |_/.'   '.\_/.'   '.\_[ [ [  ] ] ]___|_________.'.'   '.\  ]
             :  .-.  : :  .-.  :  '........'    (_________):  .-.  :`-'
             :  '-'  : :  '-'  :                           :  '-'  :
              '._ _.'   '._ _.'                             '._ _.'

    #1: https://govnokod.ru/29062 https://govnokod.xyz/_29062

    nepeKamHblu_nemyx, 17 Декабря 2025

    Комментарии (302)
  5. Куча / Говнокод #25398

    +1

    1. 1
    Прыщи

    syoma, 22 Февраля 2019

    Комментарии (299)
  6. JavaScript / Говнокод #16418

    +149

    1. 1
    2. 2
    3. 3
    $(window).scroll(function () {
        var active_start_position = window.pageYOffset + 0 // начало активной области (верхняя граница экрана + 10 пикселей)
        var active_end_position = window.pageYOffset + 50 // конец активной области (нижняя граница экрана - 10 пикселей)

    С Волан-де-сайта. Комменты доставили.

    http:/сайт-который-называть-нельзя/javascripts/1406215785/_parts/shortcuts.js

    gost, 24 Июля 2014

    Комментарии (299)
  7. Java / Говнокод #27661

    +2

    1. 1
    https://codeforwin.org/2018/05/10-cool-bitwise-operator-hacks-and-tricks.html

    10 cool bitwise operator hacks and tricks every programmer must know

    Right shift (>>) operator is equivalent to division by 2
    Want to divide a number by 2 quicky. Here you go, use bitwise right shift operator to divide an integer by 2. Each right shift operation reduces the number (operand) to its half.


    Просто напомню, что Jawa-петушки вручную заменяют деление/умножение на 2 на сдвиг, потому что анскильный компилятор так не умеет.

    OCETuHCKuu_nemyx, 12 Сентября 2021

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

    +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
    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
    interface PostRepository
    {
        public function save(Post $model);
    }
    
    class Post
    {
        protected $id;
        protected $title;
        protected $content;
    
        public function setId(int $id)
        {
            $this->id = $id;
        }
    
        public function getId(): ?int
        {
            return $this->id;
        }
    
        public function setTitle(string $title)
        {
            $this->title = $title;
        }
    
        public function getTitle(): string
        {
            return $this->title ?: '';
        }
    
        public function setContent(string $content)
        {
            $this->content = $content;
        }
    
        public function getContent(): string
        {
            return $this->content ?: '';
        }
    }

    Блядь, до чего ж отвратительный код. Говёность «PHP», тщательно и с извращённой любовью смешанная с ЙАЖАвским бойлерплейтом. Омерзительно.

    https://habr.com/ru/post/505400/
    >>> Как должны выглядеть модели?

    gost, 08 Июня 2020

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

    +6

    1. 1
    Раскрытие покровов. Настя, облачные технологии и Настенька.

    HACTEHbKA, 22 Августа 2021

    Комментарии (296)
  10. Assembler / Говнокод #17584

    +135

    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
    descriptions[result].Append(tblib::Format("%").i(0x12345678, 0xBB));
    
    
    0040E729  push        0BBh 
    0040E72E  push        12345678h                                                                ; ага, запихали параметры для Format::i, заебись; теперь esp=0x0012f1f4
    0040E733  lea         eax,[esp+38h] 
    0040E737  push        eax                                                                      ; esp=0x0012f1f0
    0040E738  lea         ecx,[esp+1Ch] 
    0040E73C  mov         dword ptr [esp+3Ch],offset USER32_NULL_THUNK_DATA+40h (43C1A8h) 
    0040E744  mov         dword ptr [esp+40h],ebp 
    0040E748  mov         dword ptr [esp+44h],1 
    0040E750  call        tblib::HeapCArray<char>::HeapCArray<char><tblib::StringRef> (4161B0h)    ; esp=0x0012f1f4
    0040E755  push        400h                                                                     ; esp=0x0012f1f0
    0040E75A  mov         ecx,offset tbAlloc (18B0C88h) 
    0040E75F  mov         dword ptr [esp+2Ch],ebp 
    0040E763  mov         dword ptr [esp+28h],ebp 
    0040E767  mov         dword ptr [esp+24h],ebp 
    0040E76B  call        tblib::Allocator::Malloc (42C500h)                                       ; esp=0x0012f1f4
    0040E770  mov         dword ptr [esp+20h],eax 
    0040E774  neg         eax  
    0040E776  sbb         eax,eax 
    0040E778  and         eax,400h 
    0040E77D  lea         ecx,[esp+18h] 
    0040E781  mov         dword ptr [esp+24h],eax 
    0040E785  mov         dword ptr [esp+2Ch],0FFFFFFFFh 
    0040E78D  call        tblib::Format::PassToNext (41BC00h)            ; хуй знает почему, но после этой функции esp не меняется, конвенция такая видимо
    0040E792  sub         esp,0Ch                                        ; БЛЯДЬ СУКА НАХУЙ ЁБАНЫЙ ПИЗДЕЦ ТЫ ЧЁ СУКА ТВОРИШЬ ААААААААА!!!!!!!!!!!!!!!!!!!!!!!!
    0040E795  lea         ecx,[esp+24h] 
    0040E799  mov         edi,esp 
    0040E79B  call        tblib::Format::i (42DBA0h)                     ; esp=0x0012f1e8, указывает на мусор, параметры для функции - где-то выше
    ...

    MSVC 2003 релиз

    TarasB, 05 Февраля 2015

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

    +31

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for(i = 0; i < strlen(line); i++)
    {
        ...
        doSomethingWith(line);
        ...
    }

    Пишет на С++, так как в нем (цитирую) больше возможностей, но std::string он не использует по причине (цитирую) его несовместимости с си компиляторами.
    Автор намекнул мне, что я не умею в многопоточность и что этот код лучше любого другого подходит для исполнения в многопоточной среде на тот случай, если переменная line bump изменится ("англици́зм" цитирую дословно, видимо вставленный для понтов и переводимое как наречие внезапно).

    Имеет ли смысл доказывать, что он не прав, если я с ним не работаю?

    LispGovno, 15 Июня 2013

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