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

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

    −125

    1. 1
    КоличествоСтраницПриПечати = Цел(ТабличныйДокумент.ВысотаТаблицы /  40.417) + 1 + 1;

    Разработчик 1С вооруженный линейкой опасен в 1+1 раз.

    safer_bwd, 26 Января 2015

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

    +210

    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
    /*
          _31 - числа  начинаются с _
          _Math_sin - глобальные функции тоже
          $abcd - строки начинаются с $ 
          /\ - символ лямбда. Easter egg:можно писать и / для краткости
          САХАР:
           args = arguments
          _ = args[0]     
    */
    
    log("========CALCULATOR EXAMPLE========");
    //*
    handler= makeHandler(chainer());
    var calc = prox(
        {   //imports
            print:function(x){log(x); return x;}
            ,add:function(a,b){ return a+b;}
            ,set:function(x,y){ return y;}
            ,fma:function(a,b,c){
                return a*b+c;
            }        
        }
    );
    calc
        .set[0]
        .add[2]
        .print //2
        .fma[10][5]
        .print //25
        
        .add._3
        .String
        .add._1111
        .print //281111
        
        ._Math_min._1
        ._Math_max._1000
        .print //100
        
        .String
        ._Math_log10
        .add["$ pow 10"]
        .print //3 pow 10
    ;
    //*/
    handler= makeHandler(chainer());
    var linq = prox(
        {   //imports
            set     :function(inner,y){ return y;}
            ,print  :function(x){log(x); return x;}
            ,map    :function(arr,y){ return arr.map(y)}
            ,filter :function(arr,y){ return arr.filter(y)}
            ,sort   :function(arr,comparator){ return arr.sort(comparator)}
            //Imperatii
            ,IF     :function(context,condition,trueBranch,falseBranch){
                return (condition(context)) ? trueBranch(context) : falseBranch(context);
            }
        }
    );
    
    linq
        .set    ["[5,2,1,3,4]"]
        .print//[5, 2, 1, 3, 4]
        .map    ["/\ _ * 3"]
        .print//[15, 6, 3, 9, 12]   
        .filter ["/\ log('filter='+args[0]),args[0]>5"] //несколько операторов в лямбде.
        .print//[6, 9, 12, 15]
        .sort   ["/\ args[0]-args[1]"]
        .map    ["/\ _ - 6"]
        .print//[0, 3, 6, 9]
        .map    ["/\ 2>_ ? 1 : _ * args.callee(_-1)"]   //анонимная рекурсия и факториал
        .print//[1, 6, 720, 362880]
        
        //имперации
        .filter ["/\ _>100"]
        .IF ["/\ _.length===0"][ 
            "/\ log('array is EMPTY!'), _" 
        ][ 
            "/\ log('Not empty:',_), []"         
        ]    //"Not empty:" [720, 362880]
        .IF ["/\ _.length===0"][ 
            "/\ log('EMPTY!'), ['empty','replacement']" 
        ][ 
            "/\ log(_), _"         
        ].print//['empty','replacement']
           
    ;

    Такой вот DSL на свойствах javascript.
    Осторожно! Все трюки выполнены профессионалами. Не пытайтесь повторить это на работе.
    http://jsfiddle.net/y5og4o9q/1/

    3.14159265, 15 Декабря 2014

    Комментарии (18)
  4. JavaScript / Говнокод #17273

    +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
    switch (response.statusCode) {
                                    case 200:
                                        status = "up";
                                        break;
                                    case 404:
                                        status = "up";
                                        break;
                                    case 403:
                                        status = "up";
                                        break;
                                    case 500:
                                        status = "up";
                                        break;
                                    case 200:
                                        status = "up";
                                        break;
                                    default:
                                        status = "up";
    }

    Каков ассортимент вариантов! .)

    smart, 08 Декабря 2014

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

    +101

    1. 1
    2. 2
    string indate =  "01/" + ("0" + CalcActDatePicker.Value.Date.Month.ToString().Trim()).Substring(CalcActDatePicker.Value.Date.Month.ToString().Trim().Length - 1)
                                + "/" + CalcActDatePicker.Value.Date.Year.ToString().Trim();

    Нашел код в проекте, который передал мне уволившийся работник

    progrb, 01 Декабря 2014

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

    +154

    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
    <?
    
    class user
    {
    function login($name, $password)
    {
    $name = mysql_real_escape_string($name);
    $name = htmlspecialchars($name);
    $password = mysql_real_escape_string($password);
    $password = htmlspecialchars($password);
    $sql = mysql_query("SELECT id FROM students WHERE Names='$name' AND Pass='$password'");
    if (mysql_num_rows($sql) == 1)
    {
    $_SESSION['Name'] = $name;
    return 1;
    }
    else
    {
    return 0;
    }
    }

    Код от ТЫЖпрограммиста.

    Mobac, 29 Ноября 2014

    Комментарии (18)
  7. JavaScript / Говнокод #17136

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    // replace old contents with new sorted
     if(!msie_browser){
      table.innerHTML = header + whitelist + blacklist;
     } else {
      // On f...ed Internet Explorer table.innerHTML is read only !!!
      // and we need to replace the whole table ...
      document.getElementById("for_msie").innerHTML =
       table_head + header + whitelist + blacklist + "</table>";
      table = document.getElementById("main_table");
     }

    Ultra Defragmenter report sorting engine.

    DIX315, 19 Ноября 2014

    Комментарии (18)
  8. Python / Говнокод #17108

    −106

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    >>> quit()
    Traceback (most recent call last):
      File "<stdin>", line 1, in ?
    TypeError: 'str' object is not callable
    >>> quit  
    'Use Ctrl-D (i.e. EOF) to exit.'
    >>> type(quit)
    <type 'str'>
    >>> type(exit)
    <type 'str'>

    Первый раз запустил питон 2.4...

    bormand, 14 Ноября 2014

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    /// <summary>
    /// Массив весов для генерации КС длиной в 60 символов
    /// </summary>
    private static int[] weightsArray = new int[]
    { 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1, 7, 3, 1};

    Цикл? Нееее, надёжнее ведь руками забить!

    NeoN, 05 Ноября 2014

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

    +139

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    struct Counter{
    	static int k;
    	Counter(){ k++; }
    	~Counter() { k--; }
    };
    int Counter::k = 0;
    #define LOL(x) {string s = #x; Counter c##x; cout<<s.substr(0,1+s.find('['))<<Counter::k<<"]="<<x<<'\n'; }

    Abbath, 01 Ноября 2014

    Комментарии (18)
  11. 1C / Говнокод #16758

    −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
    17. 17
    18. 18
    Попытка
    	// Для редких случаев, когда ЭтотОбъект неопределен
    	// проверку на режим обмена данными делаем через попытку
    	Загрузка = ЭтотОбъект.ОбменДанными.Загрузка;
    	Если Загрузка Тогда
    		// если текущий режим Загрузка, то производим минимум проверок
    		// т.к. все проверки были произведены в ИБ источнике
    		Возврат Ложь;
    	КонецЕсли;
    	ДопЗагрузка = Неопределено;
    	Если НЕ Загрузка Тогда
    		ЭтотОбъект.ДополнительныеСвойства.Свойство("Загрузка",ДопЗагрузка);
    		Загрузка = ?(НЕ ДопЗагрузка = Неопределено,ДопЗагрузка,Загрузка); 
    	КонецЕсли;
    	Если Загрузка Тогда
    		Возврат Ложь;
    	КонецЕсли;
    Исключение КонецПопытки;

    Переменная "Загрузка" может принимать только 2 значения.

    Mortum, 24 Сентября 2014

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