1. bash / Говнокод #12863

    −110

    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
    GetDSFInstallPath()
    {
    	DSF_INSTALL_PATH=`defaults read "/Library/Preferences/com.ubisoft.${PRODUCT_PREF_NAME}.GameUpdate" execPath | sed -n 's/\(.*\)\/.*/\1/p'`
    
    	# Convert from Unicode codes
    	LOC_IN_STR=${DSF_INSTALL_PATH}
    	LOC_CODES=`echo "${LOC_IN_STR}" | grep -oE [\\\\]u[[:xdigit:]]{4} | sort -u | grep -oE [[:xdigit:]]+`
    	if [ -n "${LOC_CODES}" ]; then
    	 if [ `php -v >/dev/null  2>/dev/null; echo $?` -eq 0 ]; then
    		for LOC_CODE_I in ${LOC_CODES}; do 
    			LOC_CHAR=`php -r "echo(mb_convert_encoding(pack('H*','$LOC_CODE_I'),'UTF-8','UTF-16'));"`
    			LOC_IN_STR=`echo "$LOC_IN_STR" | sed "s/[\\\\]u$LOC_CODE_I/$LOC_CHAR/g"`
    		done
    		DSF_INSTALL_PATH="${LOC_IN_STR}"
    		else
    		 echo "Warning: Game path is undefined: ${DSF_INSTALL_PATH}. Please, remove it manualy."
    	 fi
    	fi
    }

    Фрагмент скрипта uninstall`a от Ubisoft на макинтоше. mb_convert_encoding pack вот для чего нужен этот пхп, который кстати идет в комплекте с игрушкой

    stasyan, 08 Апреля 2013

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

    +143

    1. 1
    2. 2
    3. 3
    $('table.list th').each(function () {
    			$(this).attr('class', $('> div', this).remove().text()); // хе-хе
    		});

    берем див на первом уровне, удаляем его, читаем с него текст (работает, не ругайтесь) и подставляем его в класс текущему элементу

    Serabas, 08 Апреля 2013

    Комментарии (28)
  3. Си / Говнокод #12860

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    uint16_t min_id, next_id, id;
    
    if (id - min_id < next_id - min_id) {
        // ...
    }

    Сегодня обнаружил в своем, не покрытом тестами, говнокоде этот эпик-фейл.
    Окрестосишкоблядился, что называется, по полной программе.

    Условие должно было проверять, лежит ли id в диапазоне [min_id; next_id) с учетом перехода через 0.
    Например min_id = 0xFFFE, next_id = 0x0003, id = 0x0002 должно вернуть true, а min_id = 43, next_id = 44, id = 42 - false.

    bormand, 07 Апреля 2013

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

    +78

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    #include <unistd.h>
     
     int main()
     {
       while(1)
         fork();
     }

    wlad1994, 06 Апреля 2013

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    //***Никогда не использовать))))
    	static function isset_not_empty($val){
    		if(isset($val) and !empty($val)) return true;
    		return false;
    	}

    погорячившийся))

    govnarkod, 06 Апреля 2013

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

    +19

    1. 1
    2. 2
    3. 3
    4. 4
    #include <iostream.h>
    #define TRUE 1
    #define FALSE 0
    typedef int Boolean;

    vortexx1, 06 Апреля 2013

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

    +13

    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
    #include <iostream>
    #include <vector>
    #include <stdlib.h>
    #include <time.h>
    
    using std::vector;
    
    void print_vec(const vector<int> v)
    {   /* Print Vector */
        for(vector<int>::size_type i(0); i!=v.size(); ++i)
            std::cout << v[i] << (i!=v.size()-1 ? "|":"\n");
    }
    
    bool sort_vec(const vector<int> v)
    {   /* Return True if vector sorted */
        bool b(true);
        for(vector<int>::size_type i(v.size()-1);i!=0;--i)
            if (v[i]<v[i-1]) {b=false;}
        return b;
    }
    
    int main()
    {
        vector<int> VectorForNumber;
        const unsigned int ConstMaxElement(10);
        srand(time(NULL));
        for(vector<int>::size_type i(0);i!=ConstMaxElement;++i)
            VectorForNumber.push_back(rand() % 50); // Max Number. Unsigned int && 0<N!
        while (not sort_vec(VectorForNumber))
        {
            print_vec(VectorForNumber);
            std::swap(VectorForNumber[rand() % ConstMaxElement],VectorForNumber[rand() % ConstMaxElement]);
        }
        print_vec(VectorForNumber);
        return 0;
    }

    Менять местами два элемента вектора до тех пор, пока он не станет отсортированным по возрастанию.
    С выводом сортирует примерно за 30 секунд вектор из 10 элементов, без вывода - от 0.5-1 секунды.

    eli, 06 Апреля 2013

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

    +16

    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
    #include <iostream>
    using namespace std;
     
    class Function {
    public:
        Function() {
            cout << "Function created!" << endl;
        }  
    };
     
    void Function() {
        cout << "Function called" << endl;
    }
     
    int main() {
        //class Function f;
        class Function *f = new class Function;
        Function();
        
        return 0; 
    }

    Бодаемся с семантическим анализатором.

    Elvenfighter, 05 Апреля 2013

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

    −117

    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
    Запрос.УстановитьПараметр("Дата1",началомесяца(дата));
     запрос.УстановитьПараметр("Дата2",Конецмесяца(дата)-Дней(1));//дата заказа
     Запрос.УстановитьПараметр("МесяцОплаты",Месяц(Дата));
     Запрос.УстановитьПараметр("ПДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ПДата2",КонецМесяца(Дата)+345600);
     Запрос.УстановитьПараметр("ЗДата1",НачалоМесяца(ПДата));
     Запрос.УстановитьПараметр("ЗДата2",КонецМесяца(ПДата));
     Запрос.УстановитьПараметр("ЗПДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ЗПДата2",КонецМесяца(Дата));
     Запрос.УстановитьПараметр("ППДата1",НачалоМесяца(Дата));
     Запрос.УстановитьПараметр("ППДата2",КонецМесяца(Дата));
     запрос.УстановитьПараметр("дата22",Конецмесяца(дата));
     запрос.УстановитьПараметр("Дата21", Конецмесяца(дата));// для корпоративных клиентов берем весь период
     запрос.УстановитьПараметр("ПодключениеФ",Справочники.ФормулировкиСчетов.Подключение);
     запрос.УстановитьПараметр("Сотрудник",Сотрудник);
     запрос.УстановитьПараметр("Список",Список);
     запрос.УстановитьПараметр("ПРИХОД",ВидДвиженияНакопления.Расход);

    kovyl2404, 05 Апреля 2013

    Комментарии (9)
  10. Python / Говнокод #12850

    −99

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    # 2017991 => 20/17/99
                    # 658581 => 65/85
                    # 6585 => 65
    
                    id = id[:(len(id)%2) - 2]
                    subfolders = ''.join([(i and i % 2 == 0 and '/' or '') + x for  i, x  in enumerate(id)])

    В 4 часа утра написал такой вот щит. Можно по вашему мнению это как-то упросить?

    sbb, 04 Апреля 2013

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