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

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    var cont_els = section.el.getElementsByClassName('cont');
    for (var i = 0; i < cont_els.length; i++)
    {
        var node_els = cont.el.getElementsByClassName('node');
        for (var i = 0; i < node_els.length; i++)

    Вложенный цикл переписывает i внешнего, и так бесконечно.

    Itareo, 01 Апреля 2014

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

    +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
    var SE = document.getElementsByTagName("a");
    for (var i = 0; i < SE.length; i++)
    {
        if (SE[i].href.indexOf('http://www.govnokod.ru/ratings/comment/') == 0
    	    && SE[i].href.indexOf('on') != -1)
    	{
    		plusIT(SE[i].href);
    		console.log(SE[i].href);
    	}
    }
    
    function plusIT(ID)
    {
    	$.get(
        ID,
        {},
        function(x) {
        });
    }

    gost, 15 Марта 2014

    Комментарии (30)
  4. C++ / Говнокод #14778

    +57

    1. 1
    for(int loshdka_skachi = 0; loshadka_skachi < pyati_raz; loshadka_skachi += prig_skok){

    оттуда
    конардо посвящается

    LispGovno, 21 Февраля 2014

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

    +76

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    try {
        IntToStr(pageid);
    }
    catch (...) {
        pageid = 0;
    }

    А вдруг?

    bormand, 31 Января 2014

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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    ObservableStorage.ConfigurationTuple<Integer, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationTuple<Foo, ObservableStorage.ConfigurationEnd>>> build = RemoteObservableStorage
            .configurationBuilder()
            .use("foo").as(Foo.class)
            .use("foo1").as(Foo.class)
            .use("ids").as(Integer.class)
            .build();

    И тут Остапа понесло :)
    Всем тайп сейфити посоны

    myzone, 26 Января 2014

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

    +138

    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
    /// generic Singleton<T> (потокобезопасный с использованием generic-класса и с отложенной инициализацией)
     
    /// <typeparam name="T">Singleton class</typeparam>
    public class Singleton<T> where T : class
    {
      /// Защищённый конструктор необходим для того, чтобы предотвратить создание экземпляра класса Singleton. 
      /// Он будет вызван из закрытого конструктора наследственного класса.
      protected Singleton() { }
     
      /// Фабрика используется для отложенной инициализации экземпляра класса
      private sealed class SingletonCreator<S> where S : class
      {
        //Используется Reflection для создания экземпляра класса без публичного конструктора
        private static readonly S instance = (S) typeof(S).GetConstructor(
                    BindingFlags.Instance | BindingFlags.NonPublic,
                    null,
                    new Type[0],
                    new ParameterModifier[0]).Invoke(null);
     
        public static S CreatorInstance
        {
          get { return instance; }
        }
      }
     
      public static T Instance
      {
        get { return SingletonCreator<T>.CreatorInstance; }
      }
     
    }
     
    /// Использование Singleton
    public class TestClass : Singleton<TestClass>
    {
        /// Вызовет защищенный конструктор класса Singleton
        private TestClass() { }
     
        public string TestProc()
        {
            return "Hello World";
        }
    }

    Код из Википедии. Создание синглтона на шарпике с излишествами и извращениями

    В самом деле, кому нужна инкапсуляция, нам же нужен синглтон

    P.S может я чего не понимаю.

    kegdan, 26 Декабря 2013

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

    +156

    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
    class StaticArray { // TO DO: add float, char, double
    private $min = 0;
    private $lengch = 0;
    private $max = 0;
    private $array = array();
    function __construct($lengch,$type) {
    if (!is_numeric($lengch) || $type != 'int'&& $type != 'long'&& $type != 'byte'&& $type != 'short'){  
    echo "BAD ARRRAY TYPE OR LENGCH!\n";
    return false;
    }
    $this->lengch = $lengch;
    switch ($type){
    case 'int':
    $this->min = -2147483647;
    $this->max = 2147483648;
    break;
    case 'byte':
    $this->min = -127;
    $this->max = 128;
    break;
    case 'short':
    $this->min = -32768;
    $this->max = 32767;
    break;
    case 'long':
    $this->min = -9223372036854775808;
    $this->max = 9223372036854775807;
    break;
    }
    for ($i=0;$i < $lengch;$i++){
    $this->array[$i] = 0;
    }
    }
     function add ($vaule,$num){
     if ($vaule >= $this->max || $vaule <= $this->min || !is_numeric($num) || $num < 0 || $num >= $this->lengch){
     echo "Not valid vaule!\n";
     return false;
     }
     $this->array[$num] = $vaule;
    }
     
     function ToNormalArray (){
     return $this->array;
     }
     function get ($num){
     if ($num >= $this->lengch || $num < 0){
     echo "BAD ARRAY INDEX\n";
     return false;
     }
     return $this->array[$num];
     }
     function GetLengch(){
     return $this->lengch; 
    }
    }

    Обнаружил в исходниках одного из сайтов который разрабатывал. Предыдущий кодер действительно этим ползовался! Особенно умиляет метод ToNormalArray().

    zadrot, 25 Декабря 2013

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

    +18

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    std::string MetaInfo::SetField() {
      return m_value;
    }
    
    /* ... */
    
    std::string value = meta.SetValue();

    Йода-стайл. Переменную эту, хочешь установить ты.

    JeremyW, 08 Ноября 2013

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    public static string Guid_GetAnimalUniqueNameToString(int i)
    {
    	return string.Format("{0}{0}{0}{0}{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}-{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}{0}", i);
    }

    Этот код мне знакомый скинул, говорит в цикле for сюда передавались значения :-)

    Smekalisty, 27 Сентября 2013

    Комментарии (30)
  11. Java / Говнокод #13808

    +114

    1. 1
    Ranges.closedOpen(0, list.size()).asSet(DiscreteDomains.integers())

    Самый простой известный мне способ сделать аналог питоновского range(len(list)). Даже с Guava.

    someone, 18 Сентября 2013

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