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

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

    +139

    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
    foreach (sp_GetPropertiesAffiliateResult paf in PropertiesAffiliate)
                {
    ...
     phConfigAffiliate.Controls.Add(new LiteralControl("<tr>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td><strong>"));
                    phConfigAffiliate.Controls.Add(litPropertyId);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</strong></td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td><strong>"));
                    phConfigAffiliate.Controls.Add(litPropertyName);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</strong></td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td>"));
                    phConfigAffiliate.Controls.Add(txtPropertyCode);
                    phConfigAffiliate.Controls.Add(rfvTxtPropertyCode);
                    phConfigAffiliate.Controls.Add(new LiteralControl("</td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<td>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl(@"<table cellpadding=""2"" cellspacing=""2"" border=""0"">"));
                    phConfigAffiliate.Controls.Add(new LiteralControl("<tr>"));
                    phConfigAffiliate.Controls.Add(new LiteralControl(@"<td style=""border: 0px;"">"));
    
    ....
    }

    brusini, 05 Марта 2014

    Комментарии (5)
  3. Python / Говнокод #15296

    −95

    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
    # ~*~ coding: utf8 ~*~
    
    def clear_string(str, to_int = None):
        '''
        Чистим строку от "мусора" - нечисловых символов.
        '''
        new_str = ''
        for s in str:
            # сначала ищем точку (вдруг число с плавающей точкой)
            # при этом в новой строке не должно быть больше одной точки
            # и в условии to_int не определен
            if s == '.' and '.' not in new_str and not to_int:
                new_str += s
            else:
                try:
                    i = int(s)
                    new_str += s
                except:
                    pass
        return new_str
    
    def str_to_int(str):
        '''
        Преобразование стоки в целое число
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return int(str)
        except:
            # если не получилось, то проверяем почему? допускаем, что было передано не целое число в строке
            if '.' in str:
                str = str[0:str.find('.')]
                return str_to_int(str)
            else:
                # если уж совсем дела плохи, то возвращаем 0
                return 0
    
    def check_int(str):
        try:
            int(str)
            return True
        except:
            return False
    
    def str_to_float(str):
        '''
        Преобразование стоки в число с плавающей точкой
        '''
        # попробуем воспользоваться самым простым методом
        try:
            return float(str)
        except:
            # других вариантов не осталось. скорее всего функция приняла на входе мусор
            return 0
    
    def check_float(str):
        try:
            float(str)
            return True
        except:
            return False
    
    # есть у нас незатейливая строка
    str = 'a23d.d.5ff6'
    # проверяем функцию чистки строки
    print('Чищеная строка: %s' % clear_string(str))
    print('Чищеная строка с to_int: %s' % clear_string(str, to_int=True))
    # до преобразования строки в число следовало бы почистить ее
    print('Преобразуем мусор в целое число: %s' % str_to_int(str))
    print('Преобразуем чищеную строку в целое число: %s' % str_to_int(clear_string(str)))
    # преобразуем строку в число с плавающей точкой
    print('Преобразуем мусор в число с плавающей точкой: %s' % str_to_float(str))
    print('Преобразуем чищеную строку в число с плавающей точкой: %s' % str_to_float(clear_string(str)))
    
    print('Проверяем, является ли содержимое строки целочисленным: %s' % check_int(str))
    print('Проверяем, является ли содержимое чищеной строки целочисленным: %s' % check_int(clear_string(str, to_int=True)))
    print('Проверяем, является ли содержимое строки числом с плавающей точкой: %s' % check_float(str))
    print('Проверяем, является ли содержимое чищеной строки числом с плавающей точкой: %s' % check_float(clear_string(str)))

    http://www.haikson.com/blogs/hektor/programming/python/python-preobrazovanie-stroki-v-chislo/

    v0ffka, 03 Марта 2014

    Комментарии (5)
  4. PHP / Говнокод #15204

    +182

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if($valuta=='rur') {
    	$rate = "RUR";
    } else {
    	$rate = strtoupper($valuta);
    }

    draug, 27 Февраля 2014

    Комментарии (5)
  5. PHP / Говнокод #15013

    +177

    1. 1
    2. 2
    $lists['arrDateYear']=array(2000=>2000,2001=>2001,2002=>2002,2003=>2003,2004=>2004,2005=>2005,2006=>2006,2007=>2007,2008=>2008,2009=>2009,2010=>2010);
    $lists['arrDateDay']=array(1=>1,2=>2,3=>3,4=>4,5=>5,6=>6,7=>7,8=>8,9=>9,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);

    1=1

    Merisho, 26 Февраля 2014

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

    +115

    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
    Сколько помнишь пятен солнца,
     Сколько раз горел в огне?
     Сколько раз ты изгнан вон был,
     Сколько раз ты гнил во тьме?
    
     За богохульство был распят Иисус,
     За вольнодумие стреляют и сжигают,
     Прикованный к кресту я молча обоссусь,
     Но вам не вымолить из губ моих
     Признаний
    
     Ватикан - мразь и твари,
     Переходы полнит кровь,
     Здесь кичатся билетом до рая...
     Купленным ценою слёз,
     Свет ста тысяч ртутных ламп,
     Боль ста тысяч рваных ран,
     Вот наверное и всё...
     Дьявол вновь берет своё
    
     Тлен смыкает свои пальцы,
     Сдавливая горло мне,
     Призраки немых скитальцев,
     Как и ты, горят в огне,
     Павшие в провалы ночи,
     Мы не смеем попрекать
     Иисуса, его дочерь,
     Делят что одну кровать
    
     За доброту был скован Прометей,
     И за радушие еще пока сажают,
     Топчите труп мой, брошенный, в говне,
     Но вам не вымолить из губ моих 
     Признаний
    
     Паутина склепа давит
     На кровавые глаза,
     Здесь никто ничто не знает,
     Но желает показать
     Как он чтит и как страдает,
     Как дарует благодать,
     В самом низменном желаньи,
     Перед страхом умирать
    
     Астарты глаза
     Видят грех и во тьме,
     Громким криком созвав
     На суд Бафомэт,
     Всего лишь ответы,
     Ни пытки, не боль,
     Но тех уже нету,
     Кто ответит за роль...
    
     Из круга ангелов бы изгнан Сатана,
     И по лицу до ныне выбирают,
     Я ниц пойду, с булыжником до дна,
     И моих тайн никто и не узнает...
     Но смерть и боль, жестокая война,
     На ложе богородица, не кровью -
     Соком истекает,
     И над морями изумрудного вина
     Кресты так пошло, показушно догорают...

    Не знаю почему, но называется это стихотворение "крестоблядство".
    Пруф: http://www.stihi.ru/2012/11/23/2001
    у автора и спрашивайте, где же здесь С++

    TarasB, 20 Февраля 2014

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

    +137

    1. 1
    if ($params['provider'] == PROVIDER_GOOGLE && 0) {

    Очевидно, /*...*/ показалось слишком сложным.

    Lowezar, 19 Февраля 2014

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

    +129

    1. 1
    data Int = -33554432 | -33554431 | ... |-2 | -1 | 0 | 1 | 2 | 3 | ... | 33554431 | 33554432

    LispGovno, 19 Февраля 2014

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

    +150

    1. 1
    2. 2
    3. 3
    4. 4
    jQuery(document).ready(function() {
      var this = jQuery(this);
      this.someMethod();
    });

    "Почему-то не работает..."

    i--, 18 Февраля 2014

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

    +59

    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
    #ifndef PORT_H_
    #define PORT_H_
    
    #define MAKE_PORT(portName, ddrName, pinName, className, ID) \
    		class className{\
    		public:\
    			typedef uint8_t DataT; /* Alias for the type of data port*/\
    		private:\
    			static volatile DataT &data()\
    			{\
    				return portName;\
    			}\
    			static volatile DataT &dir()\
    			{\
    				return ddrName;\
    			}\
    			static volatile DataT &pin()\
    			{\
    				return pinName;\
    			}\
    		public:\
    			static void Write(DataT value) /*Write value to port PORT = value*/\
    			{\
    				data() = value;\
    			}\
    			static void ClearAndSet(DataT clearMask, DataT value) /*Clear by mask and set PORT = (PORT & ~clearMask) | value */\
    			{\
    				data() = (data() & ~clearMask) | value;\
    			}\
    			static DataT Read() /*Read the value written to the port*/\
    			{\
    				return data();\
    			}\
    			static void DirWrite(DataT value)/*Record the value of the direction of the lines I/O */\
    			{\
    				dir() = value;\
    			}\
    			static DataT DirRead() /*Read the value of the direction of the lines I/O */\
    			{\
    				return dir();\
    			}\
    			static void Set(DataT value) /*Set bits in the port PORT |= value;*/\
    			{\
    				data() |= value;\
    			}\
    			static void Clear(DataT value) /*Clear bits in the port PORT &= ~value;*/\
    			{\
    				data() &= ~value;\
    			}\
    			static void Togle(DataT value) /*Switch bits PORT ^= value;*/\
    			{\
    				data() ^= value;\
    			}\
    			static void DirSet(DataT value) /*Set direction bits*/\
    			{\
    				dir() |= value;\
    			}\
    			static void DirClear(DataT value) /*Clear direction bits*/\
    			{\
    				dir() &= ~value;\
    			}\
    			static void DirTogle(DataT value)\
    			{\
    				dir() ^= value;\
    			}\
    			static DataT PinRead()\
    			{\
    				return pin();\
    			}\
    			enum{Id = ID};\
    			enum{Width=sizeof(DataT)*8};/*Bit depth*/\
    		};
    
    #ifdef PORTA
    	MAKE_PORT(PORTA, DDRA, PINA, Porta, 'A');
    #endif
    
    #ifdef PORTB
    	MAKE_PORT(PORTB, DDRB, PINB, Portb, 'B');
    #endif
    
    #ifdef PORTC
    	MAKE_PORT(PORTC, DDRC, PINC, Portc, 'C');
    #endif
    
    #ifdef PORTD
    	MAKE_PORT(PORTD, DDRD, PIND, Portd, 'D');
    #endif
    
    
    
    
    #endif /* PORT_H_ */

    Использование СИ++ в микроконтроллерах доставляет....

    nsa_a1, 18 Февраля 2014

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

    +73

    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
    final double[][] matrix = new double[companies.size() + 1][(sampleSizeTo - sampleSizeFrom) / sampleSizeStep + 2];
    for (int i = 0; i < matrix.length; i++) {
        for (int j = 0; j < matrix[0].length; j++) {
            if (i == 0 && j == 0) {
                continue;
            }
            if (i == 0) {
                matrix[i][j] = sampleSizeFrom + (j - 1) * sampleSizeStep;
                continue;
            }
            if (j == 0) {
                matrix[i][j] = companies.get(i-1);
                continue;
            }
        }
    }

    Название функции getSmartDistibution (именно так) какбэ намекает, что дальше будет весело

    roman-kashitsyn, 14 Февраля 2014

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