1. 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)
  2. Assembler / Говнокод #14225

    +143

    1. 1
    2. 2
    .686
    .model tiny

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

    laMer007, 14 Декабря 2013

    Комментарии (56)
  3. Си / Говнокод #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)
  4. 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)
  5. 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)
  6. Java / Говнокод #14221

    +73

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    GZIPOutputStream out = new GZIPOutputStream(out) {
        {
            def.setLevel(Deflater.BEST_COMPRESSION);
        }
    };

    Вот так можно выставить максимальную степень сжатия GZIP-потока в жабе.

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

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

    +148

    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
    <?php
    
    /* Почему статические методы — говно */
    
    abstract class BaseNewsPeer {
    …
    	/**
    	 * Method to select one object from the DB.
    	 *
    	 * @param      Criteria $criteria object used to create the SELECT statement.
    	 * @param      PropelPDO $con
    	 * @return     News
    	 * @throws     PropelException Any exceptions caught during processing will be
    	 *		 rethrown wrapped into a PropelException.
    	 */
    	public static function doSelectOne(Criteria $criteria, PropelPDO $con = null)
    	{
    		$critcopy = clone $criteria;
    		$critcopy->setLimit(1);
    		$objects = NewsPeer::doSelect($critcopy, $con);
    		if ($objects) {
    			return $objects[0];
    		}
    		return null;
    	}
    …
    
    class NewsPeer extends BaseNewsPeer
    {
    	…
    }

    kix, 13 Декабря 2013

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

    +162

    1. 1
    eval('var pattern = /<b style="color:darkmagenta;">' + NickName + '<\\/b>/gim;');

    Да-да, так и делаю. new RegExp? Это как?

    Efog, 12 Декабря 2013

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

    +15

    1. 1
    normalize((a+b)/2)

    TarasB, 12 Декабря 2013

    Комментарии (152)
  10. Куча / Говнокод #14217

    +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
    countDigits :: (Integral a) => a -> Int
    {-# INLINE countDigits #-}
    countDigits v0 = go 1 (fromIntegral v0 :: Word64)
      where go !k v
               | v < 10    = k
               | v < 100   = k + 1
               | v < 1000  = k + 2
               | v < 1000000000000 =
                   k + if v < 100000000
                       then if v < 1000000
                            then if v < 10000
                                 then 3
                                 else 4 + fin v 100000
                            else 6 + fin v 10000000
                       else if v < 10000000000
                            then 8 + fin v 1000000000
                            else 10 + fin v 100000000000
               | otherwise = go (k + 12) (v `quot` 1000000000000)
            fin v n = if v >= n then 1 else 0

    Хаскельная магия из исходников Data.Text.

    Yuuri, 12 Декабря 2013

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