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

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

    +50.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    $find = str_replace(",", "", $find);
    $find = str_replace(".", "", $find);
    $find = str_replace("/", "", $find);
    $find = str_replace(" ", "", $find);
    $find = str_replace("-", "", $find);
    $find = str_replace("+", "", $find);
    $find = str_replace("#", "", $find);

    Регулярные выражения =)

    guest, 08 Декабря 2008

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

    +50.7

    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
    namespace inter {
        template<typename X>
        struct tplClass {
            private:
                X _priv;
            
            public:
                tplClass(const X _generator) {
                    this->_priv = _generator;
                    return;
                }
                
                tplClass(const tplClass<int>& _a) {
                    this->_priv = _a.get();
                    return;
                }
    
                const X get(void) const {
                    return this->_priv;
                }
        };
        
        
        template<typename X>        
        const tplClass<X> operator+(const tplClass<X>& _lha, const tplClass<X>& _rha) {
            return tplClass<X>(_lha.get()+_rha.get());
        }
    }
    
    int main(int argc, char* args[], char* envs[]) {
        tplClass<int> a(5);
        tplClass<double> b(3.1);
        tplClass<double> c = a + b;
        return 0;
    }

    1. Всё упрощено до невозможности. Описано только то, что необходимо для узрения говнокода.
    2. Несмотря на то, что решение существует в очень известной книжке, я напоролся на говнокод лично, пока программу писал. Искал несколько дней проблему... Ну да... Бывает...
    3. Говнокод заключается в том, что данный код не компилируется.

    P.S. Если видите, что где-то есть дыра, то говорите, возможно я опечатался (злобная администрация исправить не даст), возможно в данном коде плюг опущен, возможно дыра у меня в голове. Конструктивная критика приветствуется.

    P.P.S. Если вы решили просто написать, что (C++ == "говно") is true , то, пожалуйста, прошу вас как людей порядочных и воспитанных, имеющих совесть и ум, пройдите мимо. Если у вас нит ни ума, ни совести, ни порядочности, то можете писать про "естественную говнистость" C++, милости прошу.

    interested, 30 Октября 2009

    Комментарии (42)
  4. Куча / Говнокод #1005

    +50.6

    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
    (?:(?:\r\n)?[\t])*(?:(?:(?:[^()<>@,;:\\".\[\]\000-\031]+
    (?:(?:(?:\r\n)?[\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:
    [^\"\r\\]|\\.|(?:(?:\r\n)?[\t]))*"(?:(?:\r\n)?[\t])*)(?:
    \.(?:(?:\r\n)?[\t])*(?:[^()<>@,;:\\".\[\]\000-\031]+(?:(
    ?:(?:\r\n)?[\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"
    \r\\]|\\.|(?:(?:\r\n)?[\t]))*"(?:(?:\r\n)?[\t])*))*@(?:(
    ?:\r\n)?[\t])*(?:[^()<>@,;:\\".\[\]\000-\031]+(?:(?:(?:\
    r\n)?[\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
    |\\.)*\](?:(?:\r\n)?[\t])*)(?:\.(?:(?:\r\n)?[\t])*(?:[^(
    )<>@,;:\\".\[\]\000-\031]+(?:(?:(?:\r\n)?[\t])+|\Z|(?=[\
    ["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?
    [\t])*))*|(?:[^()<>@,;:\\".\[\]\000-\031]+(?:(?:(?:\r\n)
    ?[\t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|
    (?:(?:\r\n)?[\t]))*"(?:(?:\r\n)?[\t])*)*\<(?:(?:\r\n)?[\
    t])*(?:@(?:[^()<>@,;:\\".\[\]\000-\031]+(?:(?:(?:\r\n)?[
    \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*
    \](?:(?:\r\n)?[\t])*)(?:\.(?:(?:\r\n)?[\t])*(?:[^()<>@,;
    :\\".\[\]\000-\031]+(?:(?:(?:\r\n)?[\t])+|\Z|(?=[\["()<>
    @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[\t])*
    ))*(?:,@(?:(?:\r\n)?[\t]))

    regexp

    guest, 06 Мая 2009

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

    +50.4

    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
    map<string, int> M;
    ...
    M["one"] = 1;
    M["two"] = 2;
    M["google"] = 1e100;
    ...
    // найдём сумму всех значений --- т.е. всех правых частей 
    // пар <string, int>
    int r = 0;
    tr(M, it) {
       r += it->second; 
       // (*it).first == [string], (*it).second == [int]
    }

    и это на сайте обучения программирования!!!
    http://informatics.mccme.ru/moodle/mod/book/view.php?id=492&chapterid=216

    Novi4oK, 21 Января 2010

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

    +50.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function toNormal(str){
      str = str.replace(/\s/g,' ').replace(/   /g,' ').replace(/   /g,' ').replace(/   /g,' ').replace(/  /g,' ').replace(/  /g,' ');
      return str
    }
    
    function stringToNumeric(str){
      str+='';
      n = parseFloat(str.replace(/[^\d,\.-]/g,'').replace(/,/g,'.'))+'';
      n = n.replace('NaN','0');
      n = parseFloat(n);
      return parseFloat(n);
    }

    guest, 11 Января 2009

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

    +50.1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ...
    double total, free;
    GetCensoredServer()->GetCensoredMemory(total, free);
    if (free<0.) // <-- чудесная проверка
    {
    	MessageBox(AfxGetMainWnd()->m_hWnd, censored("Please check censored for enough memory!")), _T(""), MB_OK|MB_ICONWARNING);
    	return false;
    }
    ...

    Найдено в рабочем коде. Некоторые идентификаторы изменены.

    Xentrax, 01 Сентября 2009

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

    +50

    1. 1
    2. 2
    3. 3
    if ( !log.append(log_line) )
    
    log.append("Can't append to log");

    laMer007, 23 Января 2015

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    namespace Memory
    {
         #include <malloc.h>
    }

    LispGovno, 16 Января 2015

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

    +50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    else if ( pTemp->flags & FTENT_SPIRAL )
    			{
    				float s, c;
    				s = sin( pTemp->entity.baseline.origin[2] + fastFreq );
    				c = cos( pTemp->entity.baseline.origin[2] + fastFreq );
    
    				pTemp->entity.origin[0] += pTemp->entity.baseline.origin[0] * frametime + 8 * sin( client_time * 20 + (int)pTemp );
    				pTemp->entity.origin[1] += pTemp->entity.baseline.origin[1] * frametime + 4 * sin( client_time * 30 + (int)pTemp );
    				pTemp->entity.origin[2] += pTemp->entity.baseline.origin[2] * frametime;
    			}

    entity.cpp из cl_dlls от xash. Предположительно унаследовано от half-life sdk. На 64 битах сборка разумеется падает.
    Что они пытались сделать?
    За запихивание указателя под синус имхо надо запихивать указатель в анус.

    mittorn, 15 Января 2015

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

    +50

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    #include <iostream>
     
    void koko() { return throw "kook"; }
     
    int main() try {
    	koko();
    } catch(const char * e) {
    	std::cout << e;
    }

    когда никто не видит, throw возвращает void
    http://ideone.com/VDMPwE

    Xom94ok, 22 Декабря 2014

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