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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //надо показать элемент каталога во всей красе
    $_CENTER="show_category_item(".$newParts[0].");";
    eval($_CENTER);
    
    // ...
    $_LEFT='get_main_category($cat_id, $new_path);';
    $_CENTER="show_category_item_list($".'newParts'.");";

    Вот с таким адом мне приходится работать.

    oooZinka, 16 Декабря 2013

    Комментарии (15)
  2. Java / Говнокод #14230

    +74

    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
    for (int i = 0; i != nl.length(); i++)
    {
        out.write(nl.charAt(i));
    }
    
    for (int i = 0; i != footerStart.length(); i++)
    {
        out.write(footerStart.charAt(i));
    }
    
    for (int i = 0; i != type.length(); i++)
    {
        out.write(type.charAt(i));
    }
    
    for (int i = 0; i != footerTail.length(); i++)
    {
        out.write(footerTail.charAt(i));
    }
    
    for (int i = 0; i != nl.length(); i++)
    {
        out.write(nl.charAt(i));
    }

    Зачем писать функцию, когда можно успешно копипастить циклы

    http://grepcode.com/file/repo1.maven.org/maven2/org.bouncycastle/bcpg-jdk16/1.45/org/bouncycastle/bcpg/ArmoredOutputStream.java

    roman-kashitsyn, 15 Декабря 2013

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

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    auto r = [&](){
    for(auto i: a)
      if(i==k)
        return f(i);
    }();

    Однажды мне знакомый рассказывал, что во многих языках плохие грязные циклы. Мол настоящие чистые циклы должны возвращать значение. Я написал ему вот это. Он многозначительно подумал и замолчал. Через две с половиной недели он уволился.

    LispGovno, 14 Декабря 2013

    Комментарии (19)
  4. Java / Говнокод #14228

    +72

    1. 1
    2. 2
    3. 3
    4. 4
    SecretKeyFactory factory = SecretKeyFactory.getInstance("PBEWITHMD5ANDTRIPLEDES");
    PBEKeySpec spec = new PBEKeySpec(password, salt, 1024, 128);
    SecretKey key = factory.generateSecret(spec);
    hexdump(key.getEncoded());

    http://ideone.com/bVElQG

    Не, ну я все понимаю, PKCS #5 1.5 аля PBE, MD5 и DES не считаются безопасными алгоритмами... но не настолько же...

    bormand, 14 Декабря 2013

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

    +137

    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
    if (!string.IsNullOrEmpty(date))
    			{
    				var result = date.Split('.');
    				filter.TenderDate.Start = new DateTime(
    					Convert.ToInt16(result[2]),
    					Convert.ToInt16(result[1]),
    					Convert.ToInt16(result[0]),
    					0,
    					0,
    					0);
    				filter.TenderDate.End = new DateTime(
    					Convert.ToInt16(result[2]),
    					Convert.ToInt16(result[1]),
    					Convert.ToInt16(result[0]),
    					23,
    					59,
    					59);
    			}

    Парсинг дат? Не, не слышал.

    xumix, 14 Декабря 2013

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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $(function () {
    		var objects = [
    		@foreach (var item in Model.PlannedObjectSet)
      {
    			<text>{ Address: '@item.Address', Name: '@item.Name', Id: @item.Id, date: '@item.PlannedStartDate', type: @item.ObjectType, Coords: @(item.Coords ?? "null") }@(item == Model.PlannedObjectSet.Last() ? "" : ",")</text>
      }
    		];
    		$('#map').tenderMap({mode:'p', zoom:10, center:[55.83, 37.58]});
    		$('#map').tenderMap('showData', objects);
    	});

    Вот такая вот сериализация в JSON встретилась мне сегодня в коде Razor view

    xumix, 14 Декабря 2013

    Комментарии (58)
  7. Assembler / Говнокод #14225

    +143

    1. 1
    2. 2
    .686
    .model tiny

    Весьма специфичная ошибка при использовании masm32.

    laMer007, 14 Декабря 2013

    Комментарии (56)
  8. Си / Говнокод #14224

    +135

    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
    void permutate(int a[10], int n) {
        // God bless mr. Donald E. Knuth;
        // Tons of oil to English bell ringers!
    
        // WARNING: It's dangerous to go alone, take this^H read this shit
        int c[10], o[10], j, s, q;
        for (j = 1; j <= n; j++) {
            c[j] = 0;
            o[j] = 1;
        }
        while (1) {
            check(a, n);
            j = n;
            s = 0;
            while (1) {
                do {
                    q = c[j] + o[j];
                    if (q < 0) { o[j] = -o[j]; --j; }
                } while (q < 0);
                if (q == j) {
                    if (j == 1) return; else ++s;
                    o[j] = -o[j];
                    --j;
                    continue;
                }
                int t = a[j - c[j] + s];
                a[j - c[j] + s] = a[j - q + s];
                a[j - q + s] = t;
                c[j] = q;
                break;
            }
        }
    }

    Реализация алгоратма "простых изменений" по описанию из Кнута (т4. Комбинаторный поиск, генерация всех перестановок).
    Напрашивающиеся goto раздражают, было бы приятно увидеть менее пахучие реализации. Не смог нагуглить, забугорного названия этого алгоритма не знаю, а про "простые изменения" тинай вики молчит.

    vistefan, 13 Декабря 2013

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $.validator.addMethod("phoneNumber",
            function(value, element) {
                 var letterNumber = /^[a-zA-Z]+$/;
                if (value.match(letterNumber)) {
                    return false;
                }
    
                var phoneString = value.replace(/\D/g, '');
                return phoneString.length == 0 || phoneString.length >= 11;
            });

    данная кучка "валидировала" телефонный номер

    Tessen, 13 Декабря 2013

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

    +164

    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
    if($_POST['Selling_property_1']!=NULL):update_field('field_51db015800526',  $_POST['Selling_property_1'], $_POST['pid']); endif;
    if($_POST['Relocation_budget_1']!=NULL):update_field('field_51db018100527',  $_POST['Relocation_budget_1'], $_POST['pid']); endif;
    if($_POST['Selling_property_2']!=NULL):update_field('field_51db01ac00528',  $_POST['Selling_property_2'], $_POST['pid']); endif;
    if($_POST['School_1']!=NULL):update_field('field_51db01b900529',  $_POST['School_1'], $_POST['pid']);endif;
    if($_POST['homestyling_1']!=NULL):update_field('field_51db01c60052a',  $_POST['homestyling_1'], $_POST['pid']);endif;
    if($_POST['Telephony_1']!=NULL):update_field('field_51db02090052b',  $_POST['Telephony_1'], $_POST['pid']);endif;
    if($_POST['Broadband_1']!=NULL):update_field('field_51db02130052c',  $_POST['Broadband_1'], $_POST['pid']);endif;
    if($_POST['TV_1']!=NULL):update_field('field_51db021c0052d',  $_POST['TV_1'], $_POST['pid']);endif;
    if($_POST['Home_alarm_1']!=NULL):update_field('field_51db02280052e',  $_POST['Home_alarm_1'], $_POST['pid']);endif;
    if($_POST['Craftsmen_1']!=NULL):update_field('field_51db023a0052f',  $_POST['Craftsmen_1'], $_POST['pid']);endif;
    if($_POST['Home_decor_1']!=NULL):update_field('field_51db023e00530',  $_POST['Home_decor_1'], $_POST['pid']);endif;
    if($_POST['Bank_1']!=NULL):update_field('field_51db024900531',  $_POST['Bank_1'], $_POST['pid']);endif;
    if($_POST['Moving_cmp_1']!=NULL):update_field('field_51db025400532',  $_POST['Moving_cmp_1'], $_POST['pid']);endif;
    if($_POST['homestyling_2']!=NULL):update_field('field_51db025f00533',  $_POST['homestyling_2'], $_POST['pid']);endif;
    if($_POST['change_1']!=NULL):update_field('field_51db026900534',  $_POST['change_1'], $_POST['pid']);endif;
    if($_POST['moving_cmp_2']!=NULL):update_field('field_51db027200535',  $_POST['moving_cmp_2'], $_POST['pid']);endif;
    if($_POST['moving_truck_1']!=NULL):update_field('field_51db027e00536',  $_POST['moving_truck_1'], $_POST['pid']);endif;
    if($_POST['household_cleaning_1']!=NULL):update_field('field_51db028800537',  $_POST['household_cleaning_1'], $_POST['pid']);endif;
    if($_POST['insurance_1']!=NULL):update_field('field_51db029200538',  $_POST['insurance_1'], $_POST['pid']);endif;
    if($_POST['cleaning_1']!=NULL):update_field('field_51db029c00539',  $_POST['cleaning_1'], $_POST['pid']);endif;
    if($_POST['Home_alarm_1']!=NULL):update_field('field_51db02a70053a',  $_POST['home_alarm_2'], $_POST['pid']);endif;
    if($_POST['select_2']!=NULL):update_field('field_51db02b10053b',  $_POST['select_2'], $_POST['pid']);endif;
    if($_POST['insurance_2']!=NULL):update_field('field_51db02ca0053c',  $_POST['insurance_2'], $_POST['pid']);endif;
    if($_POST['school_2']!=NULL):update_field('field_51db02d40053d',  $_POST['school_2'], $_POST['pid']);endif;
    if($_POST['Telephony_2']!=NULL):update_field('field_51db02e10053e',  $_POST['Telephony_2'], $_POST['pid']);endif;
    if($_POST['Broadband_2']!=NULL):update_field('field_51db02e50053f',  $_POST['Broadband_2'], $_POST['pid']);endif;
    if($_POST['TV_2']!=NULL):update_field('field_51db02f100540',  $_POST['TV_2'], $_POST['pid']);endif;
    if($_POST['gasket_1']!=NULL):update_field('field_51db02fc00541',  $_POST['gasket_1'], $_POST['pid']);endif;
    if($_POST['electricity_2']!=NULL):update_field('field_51db030400542',  $_POST['electricity_2'], $_POST['pid']);endif;
    if($_POST['storage_1']!=NULL):update_field('field_51db031600543',  $_POST['storage_1'], $_POST['pid']);endif;
    if($_POST['electricity_1']!=NULL):update_field('field_51db031c00544',  $_POST['electricity_1'], $_POST['pid']);endif;
    if($_POST['change_2']!=NULL):update_field('field_51db032700545',  $_POST['change_2'], $_POST['pid']);endif;
    if($_POST['garbage_1']!=NULL):update_field('field_51db033100546',  $_POST['garbage_1'], $_POST['pid']);endif;
    if($_POST['garbage_2']!=NULL):update_field('field_51db033c00547',  $_POST['garbage_2'], $_POST['pid']);endif;
    if($_POST['gasket_2']!=NULL):update_field('field_51db034400548',  $_POST['gasket_2'], $_POST['pid']);endif;
    if($_POST['storage_2']!=NULL):update_field('field_51db034e00549',  $_POST['storage_2'], $_POST['pid']);endif;
    if($_POST['cleaning_2']!=NULL):update_field('field_51db03570054a',  $_POST['cleaning_2'], $_POST['pid']);endif;
    if($_POST['moving_truck_2']!=NULL):update_field('field_51db035f0054b',  $_POST['moving_truck_2'], $_POST['pid']);endif;
    if($_POST['inspection_1']!=NULL):update_field('field_51db03690054c',  $_POST['inspection_1'], $_POST['pid']);endif;
    if($_POST['craftsmen_2']!=NULL):update_field('field_51db03750054d',  $_POST['craftsmen_2'], $_POST['pid']);endif;
    if($_POST['household_cleaning_2']!=NULL):update_field('field_51db037e0054e',  $_POST['household_cleaning_2'], $_POST['pid']);endif;

    Обработка формы румынскими колегами.

    jenezis, 13 Декабря 2013

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