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

    +153

    1. 1
    2. 2
    3. 3
    if (5 < strlen($method) && '_init' === substr($method, 0, 5)){
        $this->_classResources[strtolower(substr($method, 5))] = $method;
    }

    ZendFramework (c)

    Bydlo, 21 Декабря 2010

    Комментарии (17)
  2. C++ / Говнокод #5000

    +163

    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
    #define LOKI_TYPELIST_4(T1, T2, T3, T4) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_3(T2, T3, T4) >
    #define LOKI_TYPELIST_5(T1, T2, T3, T4, T5) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_4(T2, T3, T4, T5) >
    ...
    ...
    #define LOKI_TYPELIST_49(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_48(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49) >
    #define LOKI_TYPELIST_50(T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) \
        ::Loki::Typelist<T1, LOKI_TYPELIST_49(T2, T3, T4, T5, T6, T7, T8, T9, T10, \
            T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, \
            T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, \
            T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, \
            T41, T42, T43, T44, T45, T46, T47, T48, T49, T50) >

    Говногость, 21 Декабря 2010

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

    +153

    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
    template <class TList, template <class> class Unit>
        class GenScatterHierarchy;
     template <class T1, class T2, template <class> class Unit>
        class GenScatterHierarchy<Typelist<T1, T2>, Unit>
            : public GenScatterHierarchy<Private::ScatterHierarchyTag<T1, T2>, Unit>
            , public GenScatterHierarchy<T2, Unit>
        {
        public:
            typedef Typelist<T1, T2> TList;
            typedef GenScatterHierarchy<Private::ScatterHierarchyTag<T1, T2>, Unit> LeftBase;
            typedef GenScatterHierarchy<T2, Unit> RightBase;
            template <typename T> struct Rebind
            {
                typedef Unit<T> Result;
            };
        };

    Говногость, 21 Декабря 2010

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

    +173

    1. 1
    #define arrVec[2].realVectorInfo.Count 5

    Мало того, что встретил это в проекте, доставшемся от "предков", так ведь и MSVS 6.0 проглатывает.
    Выражение arrVec[2].realVectorInfo.Count успешно заменялось на 5.
    Заметил подставу после появления строки arrVec[i].realVectorInfo.Count в проекте, в результате рефакторинга.

    Говногость, 20 Декабря 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $data = $_SERVER["QUERY_STRING"];
    $regexp = "#page=([\S]+)&type=([\S]+)#i";
    preg_match($regexp,$data,$ares);
    $page = $ares[1];
    $type = $ares[2];

    Написано мной в нетрезвом виде.
    Как я так умудрился извратиться над $_GET - сам не помню...

    DropWorld, 20 Декабря 2010

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

    +174

    1. 1
    2. 2
    3. 3
    <script>
       location.href=location.href;
    </script>

    Этот код работает - он обновляет страницу, встречал не раз.
    window.location.reload() все-таки гораздо красивее...

    elCreator, 20 Декабря 2010

    Комментарии (42)
  7. Perl / Говнокод #4995

    −117

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    my $result = `zabbix_agent -t proc.num[,,,*.pl]`
    ...
    #удаляем файлы форков
    `rm /tmp/event_agent_fork_*`;
    `rm /tmp/event_agent_main_*`;
    ...
    `killall -9 event_agent.pl`;
    sleep(5);
    `/usr/local/blabla/bin/blabla.pl`;

    LusterDroid, 20 Декабря 2010

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    protected function _durationToStr($duration){
            $duration = (int) $duration;
            return $duration * 24;
        }

    Мощная оптимизация... Сюда бы ещё final private и вообще огонь. :)

    kovel, 20 Декабря 2010

    Комментарии (6)
  9. PHP / Говнокод #4993

    +143

    1. 1
    2. 2
    3. 3
    if (url == path.$page['id']) {
    	echo 'Бинго! динь-динь-динь!';
    }

    Не говнокод, просто улыбнуло)
    Источник: никому не известный проект на стадии разработки

    kindofbear, 20 Декабря 2010

    Комментарии (4)
  10. JavaScript / Говнокод #4992

    +153

    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
    function checkTags(object, numberOfTags) {
        var tags = object.value.split(",");
        var k = tags.length;
        var tmp = new Array();
        for (var i = 0; i < k; ++i) {
            var temp = tags[i].replace(/(^\s+)|(\s+$)/g, '');
            temp = temp.replace(/[\s]{2,}/g, ' ');
            if (temp != '') { // отсеиваем пустые
                temp = temp.toLowerCase(); // переводим в нижний регистр
                // Первую букву в верхний регистр(захотелось мне так!!!)
                temp = temp.match(/(.{1})/g);
                temp[0] = temp[0].toUpperCase();
                temp = temp.join("");
                if (tmp.length > 0 && in_array(temp, tmp)) { // отсеиваем повторяющиеся
                    continue;
                }
                tmp.push(temp);
                if (tmp.length == numberOfTags) { // отсеиваем те что превышат лимит
                    break;
                }
            }
        }
        tags = tmp;
        $('entryTagsLeft').innerHTML = numberOfTags - tags.length;
        object.value = tags.join(', ');
    }

    Функция для проверки меток вводимых пользователем. Убираем лишние пробелы, переводить все символы в нижний регистр, переводит первую букву в верхний, удаляет повторы, отсеивает лишние метки(лимит на количество меток нужен так как они добавляются в цикле) в случае использования

    komprenda, 20 Декабря 2010

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