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

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

    −89

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def") {
                    options.ad_started();
                    var fn:Function = function ():void {
                        options.ad_finished();
                    };
                    setTimeout(fn, 100);
                    return;
                }

    сегодня в выпуске - как задизаблить мойшеадс лёгким движением руки в любой флешке, скомпиленной со стандартной либой

    makc3d, 14 Января 2013

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

    +55

    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
    $now = date("Y-m-d H:i:s");
    
    		if($time==1) { $now = date("Y-m-d H:i:s");}
    		elseif($time==2) { 
    
    			//$now = strtotime(date("Y-m-d H:i:s"));
    
    			if($type=="hour"){
    				$now = strtotime(date("Y-m-d H:i:s"))-3600; 
    			}
    			else if($type=="day"){
    				$now = strtotime(date("Y-m-d H:i:s"))-86400; 
    			}
    			else if($type=="month"){
    				$now = strtotime(date("Y-m-d H:i:s"))-(86400*30); 
    			}
    
    			$now = date("Y-m-d H:i:s",$now);
    		}
    
    $sql = ".....WHERE DATE_SUB('".$now."', INTERVAL .....";

    Между первой и второй перерывчик небольшой, ибо далее он использует NOW()...

    nonamez, 10 Января 2013

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

    −119

    1. 1
    Торм. колодки передние[?(Докум.ТКП_Процент>0,",ост.толщина","")] [?(Докум.ТКП_Процент>0,Докум.ТКП_Процент,"")][?(Докум.ТКП_Процент>0,"мм","")]

    это содержимое одной ячейки таблицы с видом вывода "Шаблон", мало того что автор вынуждает 3 раза обращаться к полю Докум.ТКП_Процент, так ещё и о конкатенации строк видимо ничего не слышал, упрощается до:
    Торм. колодки передние [?(Докум.ТКП_Процент>0,",ост.толщина "+Докум.ТКП_Процент+" мм","")]

    VladC, 04 Января 2013

    Комментарии (6)
  5. Java / Говнокод #12314

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public class ConfigManager implements IConfigManager<ConfigManager> {
    // skipped...
    public ConfigManager setName(String name) {
       return null;
    }
    // skipped...
    }

    POJO для хранения конфигов. setName определен в интерфейсе, при этом где то реализация есть, а где то нету. Видимо где вылетало - там и реализовали...

    eveenah, 19 Декабря 2012

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

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    findTariffPlans = function(setValue) {findTariffPlans(setValue, null)};
    
    findTariffPlans = function(setValue, closure) {
       // bla-bla-bla
    }

    "Я перегрузил"

    madhead, 16 Декабря 2012

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

    +55

    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
    function _bool($var){
      if(is_bool($var)){
        return $var;
      } else if($var === NULL || $var === 'NULL' || $var === 'null'){
        return false;
      } else if(is_string($var)){
        $var = trim($var);
        if($var=='false'){ return false;
        } else if($var=='true'){ return true;
        } else if($var=='no'){ return false;
        } else if($var=='yes'){ return true;
        } else if($var=='off'){ return false;
        } else if($var=='on'){ return true;
        } else if($var==''){ return false;
        } else if(ctype_digit($var)){
          if((int) $var)
            return true;
            else
            return false;
        } else { return true; }
      } else if(ctype_digit((string) $var)){
          if((int) $var)
            return true;
            else
            return false;
      } else if(is_array($var)){
        if(count($var))
          return true;
          else
          return false;
      } else if(is_object($var)){
        return true;// No reason to (bool) an object, we assume OK for crazy logic
      } else {
        return true;// Whatever came though must be something,  OK for crazy logic
      }
    }

    Я, конечно, понимаю, не во всех школах учат использованию массивов...

    RaZeR, 15 Декабря 2012

    Комментарии (6)
  8. 1C / Говнокод #12252

    −118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Если (ЕстьНомен.НайтиЗначение(Док.Номенклатура) > 0)
    	ИЛИ (ЕстьНомен.НайтиЗначение(Док.Номенклатура.Родитель) > 0) 
    	ИЛИ (ЕстьНомен.НайтиЗначение(Док.Номенклатура.Родитель.Родитель) > 0) 
    	ИЛИ (ЕстьНомен.НайтиЗначение(Док.Номенклатура.Родитель.Родитель.Родитель) > 0) 
    	ИЛИ (ЕстьНомен.НайтиЗначение(Док.Номенклатура.Родитель.Родитель.Родитель.Родитель) > 0) 
    	ИЛИ (ЕстьНомен.НайтиЗначение(Док.Номенклатура.Родитель.Родитель.Родитель.Родитель.Родитель) > 0) Тогда
    		ИтогоРМ = ИтогоРМ+Док.Сумма;
    КонецЕсли;

    ЕстьНомен - это элемент формы Список, т.е. код можно упростить до:

    Если ЕстьНомен.Принадлежит(Док.Номенклатура) =1 Тогда
    ИтогоРМ = ИтогоРМ+Док.Сумма;
    КонецЕсли;

    взято из конфигурации одного автодилера.

    VladC, 06 Декабря 2012

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

    +12

    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 <stdio.h>
    #include <type_traits>
    #include <string>
    struct hack_t{};
    template<class TYPE>static hack_t operator&(const TYPE&,hack_t){return hack_t();}
    int main()
    {
      struct type{};
      std::string var="win";
      #define get_meta(var)[&]()->bool{hack_t unnamed;hack_t foo(var&unnamed);return std::is_function<decltype(foo)>::value;}()
      bool result_0=get_meta(var);
      bool result_1=get_meta(type);
      #undef get_meta
      printf("get_meta(var) == %s\n",result_0?"true":"false");
      printf("get_meta(type) == %s\n",result_1?"true":"false");
      return 0;
    }

    Код отличает переменную от типа.
    http://ideone.com/t7BBO4
    Сами знаете откуда.

    LispGovno, 27 Ноября 2012

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

    +150

    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
    (function($) {
      core = {
        verticalOffset: -390,
        horizontalOffset: 0,
        repositionOnResize: true,
        overlayOpacity: 0.2,
        overlayColor: '#ffffff',
        draggable: true,
        send: 'Отправить',
        ok: 'Продолжить',
        close: 'Закрыть',
        save: 'Сохранить',
        cancel: 'Отмена',
        dialogClass: null,
        alert: function(message, title, callback) {
          if( title == null ) title = 'Alert';
          this._show_mess(title, message, null, 'alert', function(result) {
            if(callback) callback(result);
          });
        },
        confirm: function(message, title, callback) {
          if(title == null) title = 'Подтверждение действия';
            this._show_mess(title, message, null, 'confirm', function(result) {
              if(result) callback(result);
            });
        },
        prompt: function(message, value, title, callback) {
          if( title == null ) title = 'Prompt';
            this._show_mess(title, message, value, 'prompt', function(result) {
            if( callback ) callback(result);
          });
        },
        message: function(title){
          if(title == null) title = '';
          this._show_mess(title, '', '', 'message');
        },
        box_close: function() {
          $('#popup_container').fadeOut(200, function(){
            $('#popup_overlay, #popup_container').remove();
          });
        },
        _show_mess: function(title, msg, value, type, callback) {
          if ($('#popup_container').length > 0) {
            $('#popup_overlay, #popup_container').remove();
          }
          var html = "<div id='popup_container'>" +
            "<table>" +
              "<tbody>" +
              "<tr>" +
                "<td class='tl'/><td class='b'/><td class='tr'/>" +
              "</tr>" +
              "<tr>" +
                "<td class='b'/>" +
                "<td class='body'>" +
                  "<div class='popup_title_wrap'><div class='popup_x_button'/><div id='popup_title'/></div>" +
                  "<div id='popup_progress'><img src='/images/progress.gif' alt='Загрузка...' /></div>" +
                  "<div id='popup_content'/>" +
                  "<div id='popup_message'/>" +
                  "<div id='popup_panel'>" +
                    "<span class='ajax-loader'>&nbsp;</span>" +
                    "<div id='popup_info'/>" +
                    "<input id='popup_ok' type='button' class='button_yes' value='" + this.ok + "'/>" +
                    "<input id='popup_cancel' type='button' class='button_no' value='" + this.cancel + "'/>" +
                    "<input id='popup_close' type='button' class='button_no' value='" + this.close + "'/>" +
                  "</div>" +
                "</td>" +
                "<td class='b'/>" +
              "</tr>" +
              "<tr>" +
                "<td class='bl'/><td class='b'/><td class='br'/>" +
              "</tr>" +
              "</tbody>" +
            "</table>" +
          "</div>";
    
          this._overlay('show');
          $('body').append(html);
          $('#popup_panel input').hide();
          if(this.dialogClass) {
            $('#popup_container').addClass(this.dialogClass);
          }
          var pos = (($.browser.msie && parseInt($.browser.version) <= 6 )||(($(window).height()<480)||($(window).width()<700))) ? 'absolute' : 'fixed';
          $('#popup_container').css({
            position: pos,
            zIndex: 999,
            padding: 0,
            margin: 0
          });

    Govnisti_Diavol, 20 Ноября 2012

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

    −100

    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
    eval_prefix = lambda inp:\
                reduce(lambda stack, symbol:\
                (
                  (stack+[symbol]) if symbol.isdigit() \
                 else \
                  (
                    stack[:-2]+\
                    [str(
                          eval(
                               stack[-1]+symbol+stack[-2]
                              )
                        )
                    ]
                  )
                ), inp[::-1], [])[0]

    Здесь вам не хаскель!

    serpinski, 15 Ноября 2012

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