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

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

    +2

    1. 1
    2. 2
    3. 3
    function isNative (Ctor){
      return typeof Ctor === 'function' && /native code/.test(Ctor.toString())
    }

    https://habr.com/ru/company/ruvds/blog/503634/
    >>> 5 интересных JavaScript-находок, сделанных в исходном коде Vue

    gost, 26 Мая 2020

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

    −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
    let windows = [];
    		for(let i=0;i<30;i++) {
    			windows.push(open('about:blank', 'w'+i, 'width=220,height=220'));
    			windows[windows.length-1].document.write('<img width="200" src="https://yandex.ru/images/_crpd/QXyR57D17/58778cEG/ztbSEyQN1MQPOKIh-mQphsVGWJdV_rEIEfYazmN1g0xPpX0igbVWfIKWpfMEAObKC6K6ZWrKj3oC51h2Nj70EtoS5kOEGYXVP10XoFpA">');
    		}
    		let x = 0;
    		for(let i=0;i<30;i++) {
    			setTimeout(function run() {
    				if(x > 10000) {
    					windows[i].close();
    					return;
    				}
    				x++;
    				windows[i].moveTo((Math.random()*screen.width).toFixed(), (Math.random()*screen.height).toFixed());
    				setTimeout(run, 100);
    			});
    		}

    Мой лучший гавнакод

    codershitter, 27 Декабря 2019

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

    +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
    #include <stdbool.h>
    
    bool impl(bool a, bool b) // ->
    {
        return (!a || b);
    }
    
    bool always_true(bool a, bool b)
    {
        return (impl(a,b) == impl(b,a)) == (a == b); // ( (a -> b) = (b -> a) ) = (a = b) tautology
    }
    
    /*
    GCC не хочет мне тавтологию оптимизировать!
    https://godbolt.org/z/kgFMpR
    always_true:
            movl    %esi, %eax
            xorl    %edi, %eax
            cmpb    %dil, %sil
            sete    %dl
            xorl    %edx, %eax
            ret
    Но Clang может
    https://godbolt.org/z/YcOat-
    always_true:                            # @always_true
            movb    $1, %al
            retq
    */

    ГОВНО!

    j123123, 24 Сентября 2019

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

    +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
    <script>
          qqq = 0;
            setInterval(function(){
                qqq++; 
                if ( qqq == 1 ) $('.qqq').text('.');  
                else if ( qqq == 2 ) $('.qqq').text('..');  
                else if ( qqq == 3 ) $('.qqq').text('...'); 
                else {
                    $('.qqq').empty(); 
                    qqq = 0;
                }
            },900);
       </script>

    Многоточия...
    Встретил случайно в одном из сайтов)

    fuckall, 21 Марта 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    import ctypes, sys
    if ctypes.windll.shell32.IsUserAnAdmin():
        if __name__ == "__main__":
            main()
    else:
            ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1)

    Ав тозапуск с пра вами адми нис тра тора
    Для авто запус ка мы будем исполь зовать сле дующий код:

    Те перь при попыт ке запус тить скрипт вызов будет передан на UAC (если акти‐
    вен) и откро ется новое окно тер минала, где наш код выпол нится от име ни
    адми нис тра тора.
    Ес ли такой вари ант не устра ивает, то всег да мож но вос поль зовать ся
    готовы ми решени ями.
    --------------
    Ксакеп. if __name__ == "__main__" не там стоит, автор не понял что это такое.

    syoma, 26 Февраля 2019

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

    +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
    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
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    ;;; the toplevel operators of each equation in the system
    ;;; type : array[term]
    (defmacro match-acz-state-methods (state__) `(svref ,state__ 0))
    
    ;;; functional terms
    ;;; type : array[term]
    (defmacro match-acz-state-lhs-f (state__) `(svref ,state__ 1))
    
    ;;; variables on the LHS
    ;;; type : array[term]
    (defmacro match-acz-state-lhs-v (state__) `(svref ,state__ 2))
    
    ;;; contants on the RHS
    ;;; type : array[term]
    (defmacro match-acz-state-rhs-c (state__) `(svref ,state__ 3))
    
    ;;; functional terms on RHS
    ;;; type : array[term]
    (defmacro match-acz-state-rhs-f (state__) `(svref ,state__ 4))
    
    ;;; notes repeated functional terms of LHS
    ;;; type : array[bool]
    (defmacro match-acz-state-lhs-f-r (state__) `(svref ,state__ 5))
    
    ;;; notes repeated variables of LHS
    ;;; type : array[bool]
    (defmacro match-acz-state-lhs-v-r (state__) `(svref ,state__ 6))
    
    ;;; notes repeated constants of RHS
    ;;; type : array[bool]
    (defmacro match-acz-state-rhs-c-r (state__) `(svref ,state__ 7))
    
    ;;; notes repreated funcational terms of RHS
    ;;; type : array[bool]
    (defmacro match-acz-state-rhs-f-r (state__) `(svref ,state__ 8))
    
    ;;; variables and funs acocunted for by RHS-c-sol
    ;;; type : fixnum
    (defmacro match-acz-state-lhs-mask (state__)  `(svref ,state__ 9))
    
    ;;; funs accounted for by RHS-c-sol
    ;;; type : fixnum
    (defmacro match-acz-state-lhs-f-mask (state__) `(svref ,state__ 10))
    
    ;;; bit vector of all repeated (> 0) terms on LHS
    (defmacro match-acz-state-lhs-r-mask (state__)  `(svref ,state__ 11))
    
    ;;; solution matrix for constants
    ;;; type : array[fixnum]
    (defmacro match-acz-state-rhs-c-sol (state__) `(svref ,state__ 12 ))
    
    ;;; max value of elements of RHS-C-sol
    ;;; type : fixnum
    (defmacro match-acz-state-rhs-c-max (state__) `(svref ,state__ 13))
    
    ;;; solutions matrix; functional terms
    ;;; type : array[fixnum]
    (defmacro match-acz-state-rhs-f-sol (state__) `(svref ,state__ 14))
    
    ;;; max value of elements of RHS-f-sol
    ;;; type : fixnum
    (defmacro match-acz-state-rhs-f-max (state__) `(svref ,state__ 15))
    
    ;;; type : fixnum 11111 ... 1111
    (defmacro match-acz-state-rhs-full-bits (state__) `(svref ,state__ 16))
    
    ;;; array of compatibility bitvectors; constants
    ;;; type : array[fixnum]
    (defmacro match-acz-state-rhs-c-compat (state__) `(svref ,state__ 17))
    
    ;;; array of compatibility bitvectors; funcs
    ;;; type : array[fixnum]
    (defmacro match-acz-state-rhs-f-compat (state__) `(svref ,state__ 18))
    
    ;;; number of constants on LHS after simplification
    ;;; type : fixnum
    (defmacro match-acz-state-lhs-c-count (state__) `(svref ,state__ 19))
    
    ;;; number of functions on LHS after simplification
    ;;; type : fixnum
    (defmacro match-acz-state-lhs-f-count (state__) `(svref ,state__ 20))
    
    ;;; number of variables on LHS after simplification
    ;;; type : fixnum
    (defmacro match-acz-state-lhs-v-count (state__) `(svref ,state__ 21))
    
    ;;; number of constants on RHS after simplification
    ;;; type : fixnum
    (defmacro match-acz-state-rhs-c-count (state__)  `(svref ,state__ 22))
    
    ;;; number of functions on RHS after simplification
    ;;; type : fixnum
    (defmacro match-acz-state-rhs-f-count (state__) `(svref ,state__ 23))
    
    ;;; t iff all solutions have been reported.
    (defmacro match-acz-state-no-more (state__) `(svref ,state__ 24))

    https://github.com/CafeOBJ/cafeobj/blob/master/chaos/e-match/match-acz.lisp

    ГОМОИКОНЫ копипаст лиспе
    CafeOBJ is a most advanced formal specification language which inherits many advanced features (e.g. flexible mix-fix syntax, powerful and clear typing system with ordered sorts, parameteric modules and views for instantiating the parameters, and module expressions, etc.) from OBJ (or more exactly OBJ3) algebraic specification language.

    CafeOBJ is a language for writing formal (i.e. mathematical) specifications of models for wide varieties of software and systems, and verifying properties of them. CafeOBJ implements equational logic by rewriting and can be used as a powerful interactive theorem proving system. Specifiers can write proof scores also in CafeOBJ and doing proofs by executing the proof scores.

    CafeOBJ has state-of-art rigorous logical semantics based on institutions. The CafeOBJ cube shows the structure of the various logics underlying the combination of the various paradigms implemented by the language. Proof scores in CafeOBJ are also based on institution based rigorous semantics, and can be constructed using a complete set of proof rules

    j123123, 20 Декабря 2018

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

    +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
    if (!(fs_info->workers && fs_info->delalloc_workers &&
      fs_info->submit_workers && fs_info->flush_workers &&
      fs_info->endio_workers && fs_info->endio_meta_workers &&
      fs_info->endio_meta_write_workers &&
      fs_info->endio_write_workers && fs_info->endio_raid56_workers &&
      fs_info->endio_freespace_worker && fs_info->rmw_workers &&
      fs_info->caching_workers && fs_info->readahead_workers &&
      fs_info->fixup_workers && fs_info->delayed_workers &&  // <===
      fs_info->fixup_workers && fs_info->extent_workers &&   // <===
      fs_info->qgroup_rescan_workers)) {
        err = -ENOMEM;
        goto fail_sb_buffer;
    }

    https://bugzilla.kernel.org/show_bug.cgi?id=82021

    Глаз-алмаз!

    wvxvw, 10 Сентября 2018

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

    −3

    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
    Вот прога на C#:
    using System;
    namespace SomeNamespace
    {
        class SomeProgram
        {
            public static void Main(string[] args)
            {
                ulong input = ulong.Parse(Console.ReadLine());
                int counter = 0;
                Console.Write(input + " ");
                while(input != 3)
                {
                    switch(input % 3) 
                    {
                        case 0:
                        input /= 3;
                        Console.Write("/ 3 = " + input + " ");
                        counter++;
                        break;
                        case 1:
                        input--;
                        Console.Write("- 1 = " + input + " ");
                        counter++;
                        break;
                        case 2:
                        input++;
                        Console.Write("+ 1 = " + input + " ");
                        counter++;
                        break;
                    }
                }
                Console.WriteLine("\n3 reached. Number of moves: " + counter);
            }
        }
    }
    А вот на питонии:
    inpt = int(input())
    counter = 0
    print(str(inpt),end=' ')
    while not (inpt==3):
        if not(inpt%3==0):
            if inpt % 3 == 1:
                inpt -= 1
                print("- 1 = "+str(inpt),end=' ')
                counter += 1
            else:
                inpt += 1
                print("+ 1 = "+str(inpt),end=' ')
                counter += 1
        else:
            inpt //= 3
            print("/ 3 = "+str(inpt),end=' ')
            counter += 1
    else:
        print("\n3 reached. Number of moves: "+str(counter),end='',flush=True)

    И вот теперь скажите что-то, почему C# лучше питона.

    shite, 31 Августа 2018

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

    −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
    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
    84. 84
    85. 85
    86. 86
    87. 87
    <?php include "init.php"; ?>
    <?php
    if(trim($_GET['mode'])=='ajax'){
    header('Content-Type: application/json; charset=utf-8');
    if(trim($_POST['action'])==htmlspecialchars(trim($_GET['script']))){
    $result=array();
    $result['errors']=array();
    if(trim($_POST['email'])==''){
    $result['errors']['email']=l('login_error_email_empty');
    } else {
    $check=mysql_query("SELECT * FROM `users` WHERE `email`='"._F($_POST['email'])."' OR (`phone`!='' AND `phone`='"._F(preg_replace('/\D/', '', $_POST['email']))."');");
    if(mysql_num_rows($check)){
    $user=mysql_fetch_assoc($check);
    } else {
    $result['errors']['email']=l('login_error_email_inexists');
    }
    }
    if(trim($_POST['password'])==''){
    $result['errors']['password']=l('login_error_password_empty');
    } elseif(mysql_num_rows($check) && $user['password']!=md5(trim($_POST['password']))){
    $result['errors']['password']=l('login_error_password_incorrect');
    } elseif($user['active']=='0'){
    $result['errors']['form']=l('login_error_account_inactive');
    } elseif($user['active']=='2'){
    $result['errors']['form']=l('login_error_account_removed');
    } elseif($user['active']=='3'){
    $result['errors']['form']=l('login_error_account_banned');
    }
    if(count($result['errors'])==0){
    $_SESSION['userid']=$user['userid'];
    mysql_query("UPDATE `users` SET `login_time`='".$time."' WHERE `userid`='".$_SESSION['userid']."';");
    $result['status']='success';
    } else {
    $result['status']='error';
    }
    echo json_encode($result);
    }
    exit;
    }
    ?>
    <?php
    $pagetitle=l('login_title')." • ".$config['sitename'];
    $pagedesc=$config['description'];
    ?>
    <?php
    if($m){ include "m-login.php"; exit; }
    ?>
    <?php include "inc/header.php"; ?>
    
    <div class="row">
    <div class="col-md-3"></div>
    <div class="col-md-6">
    <h3 class="special-title"><?php echo l('login_title'); ?></h3>
    <div class="auth-box">
    <form action="/<?php echo htmlspecialchars(trim($_GET['script'])); ?>/" method="POST" autocomplete="off" class="ajax-form" data-callback="loginCallBack">
    <input type="hidden" name="action" value="<?php echo htmlspecialchars(trim($_GET['script'])); ?>">
    <div class="form-group">
    <label><?php echo l('login_type_email'); ?></label>
    <div>
    <input type="text" autocomplete="off" class="form-control" name="email" placeholder="<?php echo l('login_email'); ?>" autofocus>
    </div>
    </div>
    <div class="form-group">
    <label><?php echo l('login_type_password'); ?></label>
    <div>
    <input type="password" autocomplete="off" class="form-control" name="password" placeholder="<?php echo l('login_password'); ?>">
    </div>
    </div>
    <button type="submit" class="btn btn-primary"><?php echo l('login_submit'); ?></button>
    <div class="cannot-login">
    <a href="<?php echo $locPrefix; ?>/restore/" class="pull-left"><?php echo l('login_cant_login'); ?></a>
    <a href="<?php echo $locPrefix; ?>/register/" class="pull-right"><?php echo l('login_to_register'); ?></a>
    <div class="clear"></div>
    </div>
    </form>
    </div>
    </div>
    <div class="col-md-3"></div>
    </div>
    
    <div class="social-login-title">
    <?php echo l('login_via_social_network'); ?>
    </div>
    
    <div class="social-login"><a href="/social/vk/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="vkontakte"><i class="fa fa-vk"></i></a><a href="/social/ok/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="odnoklassniki"><i class="fa fa-odnoklassniki"></i></a><a href="/social/fb/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="facebook"><i class="fa fa-facebook"></i></a><a href="/social/gl/<?php if(isset($_GET['ref'])){ ?>?ref=<?php echo urlencode($_GET['ref']); ?><?php } ?>" class="google"><i class="fa fa-google"></i></a></div>
    
    <?php include "inc/footer.php"; ?>

    В среде "PHP"-разработчиков часто слышатся возбуждающие аппетит к ветчине повизгивания о том, что, дескать, без фреймворков не жизнь, чистый "PHP" - говно, и что без "Laravel" охуенный проект не создать. Но взгляните на вышеприведённый код страницы авторизации в одном из разработанных мною движков и задайте себе вопрос: зачем делить один ладненький, компактненький скриптик на контроллеры, модели, шаблоны, интерфейсы, и, как следствие, конское количество директорий, когда и "HTML"-представление, и "AJAX"-обработчик можно впихнуть в один файл на, в данном случае, полтора-два экрана? Чем обусловлена массовая течка по "MVC" и смежным архитектурам (к слову, не только лишь в "PHP", но и, слышно, в "Ruby" и "NodeJS")?

    HornyPorny, 18 Июля 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    double x = 0, y;
    while (x < 1) {
        y = x;
        x += rand(0, 1);
    }

    Задача на теорию вореации и кобенаторику.
    rand - равномерное распределение
    Нужно найти матожидание y. С пруфами.

    3_dar, 07 Февраля 2018

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