1. PHP / Говнокод #16691

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $data = $DB->...
    reset($data);
    while (list(, $row) = each($data)) {
        // do somethig with $row
    }

    Я не понимаю, почему просто не использовать foreach?!

    matasar, 13 Сентября 2014

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

    +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
    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
    (closer-mop:defclass virtual-metaclass (closer-mop:standard-class) ())
    
    (closer-mop:defclass virtual-slot-definition
        (closer-mop:standard-slot-definition)
      ((function :initarg :function 
                 :accessor virtual-slot-definition-function)))
    
    (defmethod slot-definition-allocation ((slotd virtual-slot-definition))
      :virtual)
    
    (defmethod (setf slot-definition-allocation) 
        (allocation (slotd virtual-slot-definition))
      (unless (eq allocation :virtual)
        (error "Cannot change the allocation of a ~S"
               'virtual-direct-slot-definition)) allocation)
    
    (closer-mop:defclass virtual-direct-slot-definition 
        (closer-mop:standard-direct-slot-definition
         virtual-slot-definition) ())
    
    (defmethod closer-mop:direct-slot-definition-class
        ((class virtual-metaclass) &rest initargs)
      ;; Use virtual-direct-slot-definition if appropriate.
      (if (eq (getf initargs :allocation) :virtual)
          (find-class 'virtual-direct-slot-definition)
          (call-next-method)))
    
    (closer-mop:defclass virtual-effective-slot-definition 
        (closer-mop:standard-effective-slot-definition
         virtual-slot-definition) ())
    
    (defmethod closer-mop:effective-slot-definition-class 
        ((class virtual-metaclass) &rest initargs)
      ;; Use virtual-effective-slot-definition if appropriate.
      (let ((slot-initargs (getf initargs :initargs)))
        (if (member :virtual-slot slot-initargs)
            (find-class 'virtual-effective-slot-definition)
            (call-next-method))))
    
    (defmethod closer-mop:compute-effective-slot-definition 
        ((class virtual-metaclass) name direct-slot-definitions)
      ;; Copy the function into the effective slot definition
      ;; if appropriate.
      (let ((effective-slotd (call-next-method)))
        (dolist (slotd direct-slot-definitions)
          (when (typep slotd 'virtual-slot-definition)
            (setf (virtual-slot-definition-function effective-slotd) 
                  (virtual-slot-definition-function slotd))
            (return)))
        effective-slotd))
    
    (defmethod closer-mop:slot-value-using-class 
        ((class virtual-metaclass) object slot-name)
      (let ((slotd (find slot-name (closer-mop:class-slots class) 
                         :key 'closer-mop:slot-definition-name)))
        (if (typep slotd 'virtual-slot-definition)
            (funcall (cadr (virtual-slot-definition-function slotd)) :get object)
            (call-next-method))))
    
    (defmethod (setf closer-mop:slot-value-using-class) 
        (value (class virtual-metaclass) object slotd)
      (if (typep slotd 'virtual-slot-definition)
          ;; This is ugly and probably not portable, but what if?
          (funcall (cadr (virtual-slot-definition-function slotd))
                   :set object value)
          (call-next-method)))
    
    (defmethod closer-mop:slot-boundp-using-class 
        ((class virtual-metaclass) object slot-name)
      (let ((slotd (find slot-name (closer-mop:class-slots class) 
                         :key 'closer-mop:slot-definition-name)))
        (if (typep slotd 'virtual-slot-definition)
            (funcall (cadr (virtual-slot-definition-function slotd)) :is-set object)
            (call-next-method))))
    
    (defmethod closer-mop:slot-makunbound-using-class 
        ((class virtual-metaclass) object slot-name)
      (let ((slotd (find slot-name (closer-mop:class-slots class) 
                         :key 'closer-mop:slot-definition-name)))
        (if (typep slotd 'virtual-slot-definition)
            (funcall (virtual-slot-definition-function slotd) :unset object)
            (call-next-method))))

    О простоте объектно-ориентированого программирования, или страшная правда, которую от вас так долго скрывали.
    Написано по мотивам: http://www.lispworks.com/documentation/lw50/LWUG/html/lwuser-173.htm В попытке сделать это, по возможности, портабельным (на SBCL вроде даже завелось).

    Я понимаю, что читать это никто не будет, поэтому, краткий пересказ событий:
    Захотелось мне виртуальных свойств, ну тоесть так, чтобы при обращении к Сипипишной библиотеке, для которой я ваяю оберкту не было различий между обычными Лисповыми объектами и Сипипишными.
    Простой вариант - скопировать значения, но перформанс же!
    И вот родился этот вариант. (Использование не показано, т.как не влезло).

    wvxvw, 12 Сентября 2014

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

    +153

    1. 1
    2. 2
    $("div.entry-comment-wrapper").has("p strong a").each( function (i,e){
    $.ajax({'url':'http://govnokod.ru/ratings/comment/'+$(e).attr('id').replace('comment-','')+'/against'}) } );

    gost, 12 Сентября 2014

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

    +173

    1. 1
    var magnitude = parseInt('10' + new Array(8).join('0'));

    вот такое встретилось

    Sulik78, 12 Сентября 2014

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

    +138

    1. 1
    p.fANT = Convert.ToUInt16(((devStat & (1 << 13)) != 0 ? "1" : "0") + ((devStat & (1 << 12)) != 0 ? "1" : "0"), 2);

    Вот сижу думаю так задуманно или автор сам не понял что написал

    Smekalisty, 12 Сентября 2014

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

    +133

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private void gv3_HiddenEditor(object sender, EventArgs e)
    {
    	if (cloneDt != null)
    	{
    		cloneDt = null;
    	}
    	if (cloneCt != null)
    	{
    		cloneCt = null;
    	}
    }

    Коллега в скайпе поделился говном из одного коммерческого проекта

    Smekalisty, 12 Сентября 2014

    Комментарии (21)
  7. 1C / Говнокод #16685

    −126

    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
    ТовМат = РегистрыСведений.ТоварнаяМартица;
    ГруппаД = Справочники.КлассификацияABC.НайтиПоНаименованию("Д").Ссылка;
    ТЗНомен = Запрос.Выполнить().Выгрузить();Ит=0;тСерт = Справочники.СертификатыСоответствия.ПустаяСсылка();
    ТЗНомен.Сортировать("Производитель,Сертификат,Номенклатура");
    тПроизвод="";
    Для Каждого стр Из ТзНомен Цикл
    	Если Объект.ИсключитьТоварыГруппыД = Истина Тогда
    		Если стр.Номенклатура.КлассABC = ГруппаД Тогда
    			Продолжить;
    		КонецЕсли;	
    	КонецЕсли;	
    
    	Если стр.Номенклатура.ЭтоГруппа = Ложь Тогда
    		Если НаличиеВМатрице = истина Тогда
    			НаборД = ТовМат.СоздатьНаборЗаписей();
    			// устанавливаем параметры отбора по полному набору Измерений регистра:
    			НаборД.Отбор.нОменклатура.Установить(стр.Номенклатура.Ссылка);
    			НаборД.Прочитать();
    			Если НаборД.Количество() = 0 Тогда
    				Продолжить;
    			Конецесли;	
    		КонецЕсли;

    Бывший программист из нашей конторы отбирает строки таблицы с номенклатурой, по которой отсутствуют записи в регистре сведений, используя при этом другие "удивительные приемы программирования"... Ушел на повышение в саму 1С)))

    GORYNY4, 12 Сентября 2014

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

    +64

    1. 1
    int i;

    кода на самом деле нет, но это достойно говнокод.ру

    на сервере был http метод GET /rest/user/anon/create
    по непонятной причине был заменён на POST /rest/user/anon/create1
    старый метод теперь возвращает 405 ошибку "Method not allowed" с заголовком Allow: POST, OPTIONS

    kyzmitch, 12 Сентября 2014

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

    +136

    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
    if(GUI.Button(Rect(100,50,50,50),NewTexture[0])) 
    { Change = true; Clicks += 1; GridNumber = 0;   }
    if(GUI.Button(Rect(150,50,50,50),NewTexture[1])) 
    { Change = true; Clicks += 1; GridNumber = 1;   }
    if(GUI.Button(Rect(200,50,50,50),NewTexture[2])) 
    { Change = true; Clicks += 1; GridNumber = 2;   }
    if(GUI.Button(Rect(250,50,50,50),NewTexture[3])) 
    { Change = true; Clicks += 1; GridNumber = 3;   }
    if(GUI.Button(Rect(300,50,50,50),NewTexture[4])) 
    { Change = true; Clicks += 1; GridNumber = 4;   }
    if(GUI.Button(Rect(350,50,50,50),NewTexture[5])) 
    { Change = true; Clicks += 1; GridNumber = 5;   }
    if(GUI.Button(Rect(400,50,50,50),NewTexture[6])) 
    { Change = true; Clicks += 1; GridNumber = 6;   }
    if(GUI.Button(Rect(100,100,50,50),NewTexture[7])) 
    { Change = true; Clicks += 1; GridNumber = 7;   }
    if(GUI.Button(Rect(150,100,50,50),NewTexture[8])) 
    { Change = true; Clicks += 1; GridNumber = 8;   }
    if(GUI.Button(Rect(200,100,50,50),NewTexture[9])) 
    { Change = true; Clicks += 1; GridNumber = 9;   }
    if(GUI.Button(Rect(250,100,50,50),NewTexture[10])) 
    { Change = true; Clicks += 1; GridNumber = 10;  }
    if(GUI.Button(Rect(300,100,50,50),NewTexture[11])) 
    { Change = true; Clicks += 1; GridNumber = 11;  }
    if(GUI.Button(Rect(350,100,50,50),NewTexture[12])) 
    { Change = true; Clicks += 1; GridNumber = 12;  }
    if(GUI.Button(Rect(400,100,50,50),NewTexture[13])) 
    { Change = true; Clicks += 1; GridNumber = 13;  }
    if(GUI.Button(Rect(100,150,50,50),NewTexture[14])) 
    { Change = true; Clicks += 1; GridNumber = 14;  }
    if(GUI.Button(Rect(150,150,50,50),NewTexture[15])) 
    { Change = true; Clicks += 1; GridNumber = 15;  }
    if(GUI.Button(Rect(200,150,50,50),NewTexture[16])) 
    { Change = true; Clicks += 1; GridNumber = 16;  }
    if(GUI.Button(Rect(250,150,50,50),NewTexture[17])) 
    { Change = true; Clicks += 1; GridNumber = 17;  }
    if(GUI.Button(Rect(300,150,50,50),NewTexture[18])) 
    { Change = true; Clicks += 1; GridNumber = 18;  }
    if(GUI.Button(Rect(350,150,50,50),NewTexture[19])) 
    { Change = true; Clicks += 1; GridNumber = 19;  }
    if(GUI.Button(Rect(400,150,50,50),NewTexture[20])) 
    { Change = true; Clicks += 1; GridNumber = 20;  }
    if(GUI.Button(Rect(100,200,50,50),NewTexture[21])) 
    { Change = true; Clicks += 1; GridNumber = 21;  }
    if(GUI.Button(Rect(150,200,50,50),NewTexture[22])) 
    { Change = true; Clicks += 1; GridNumber = 22;  }
    if(GUI.Button(Rect(200,200,50,50),NewTexture[23])) 
    { Change = true; Clicks += 1; GridNumber = 23;  }
    if(GUI.Button(Rect(250,200,50,50),NewTexture[24])) 
    { Change = true; Clicks += 1; GridNumber = 24;  }
    if(GUI.Button(Rect(300,200,50,50),NewTexture[25])) 
    { Change = true; Clicks += 1; GridNumber = 25;  }
    if(GUI.Button(Rect(350,200,50,50),NewTexture[26])) 
    { Change = true; Clicks += 1; GridNumber = 26;  }
    if(GUI.Button(Rect(400,200,50,50),NewTexture[27])) 
    { Change = true; Clicks += 1; GridNumber = 27;  }
    if(GUI.Button(Rect(100,250,50,50),NewTexture[28])) 
    { Change = true; Clicks += 1; GridNumber = 28;  }
    if(GUI.Button(Rect(150,250,50,50),NewTexture[29])) 
    { Change = true; Clicks += 1; GridNumber = 29;  }
    if(GUI.Button(Rect(200,250,50,50),NewTexture[30])) 
    { Change = true; Clicks += 1; GridNumber = 30;  }
    if(GUI.Button(Rect(250,250,50,50),NewTexture[31])) 
    { Change = true; Clicks += 1; GridNumber = 31;  }
    if(GUI.Button(Rect(300,250,50,50),NewTexture[32])) 
    { Change = true; Clicks += 1; GridNumber = 32;  }
    if(GUI.Button(Rect(350,250,50,50),NewTexture[33])) 
    { Change = true; Clicks += 1; GridNumber = 33;  }
    if(GUI.Button(Rect(400,250,50,50),NewTexture[34])) 
    { Change = true; Clicks += 1; GridNumber = 34;  }
    if(GUI.Button(Rect(400,350,50,50),NewTexture[40])) 
    { Change = true; Clicks += 1; GridNumber = 40;  }
    if(GUI.Button(Rect(450,350,50,50),NewTexture[41])) 
    { Change = true; Clicks += 1; GridNumber = 41;  }
    if(GUI.Button(Rect(500,350,50,50),NewTexture[42])) 
    { Change = true; Clicks += 1; GridNumber = 42;  }
    ...
    if(GUI.Button(Rect(100,550,65,65),NewTexture[35])) 
    { Change = true; Clicks += 1; GridNumber = 35; }
    if(GUI.Button(Rect(165,550,65,65),NewTexture[36])) 
    { Change = true; Clicks += 1; GridNumber = 36; }
    if(GUI.Button(Rect(230,550,65,65),NewTexture[37])) 
    { Change = true; Clicks += 1; GridNumber = 37; }
    if(GUI.Button(Rect(295,550,65,65),NewTexture[38])) 
    { Change = true; Clicks += 1; GridNumber = 38; }
    if(GUI.Button(Rect(360,550,65,65),NewTexture[39])) 
    { Change = true; Clicks += 1; GridNumber = 39; }

    http://answers.unity3d.com/questions/691870/gui-button-not-showing-up.html

    dzzpchelka, 12 Сентября 2014

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $(document).ready(function() {
            var links = $("a[href*='shop.mts.ru']");
            $.each(links, function(i, val) {
                $(val).attr('onclick', "_gaq.push(['_link', '" + $(val).attr('href') + "']); return false;");
            });
            //for ThreeSmallBanners adfox:
            $('a.offer_button').removeAttr('onclick');
        });

    mts.ru

    gost, 11 Сентября 2014

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