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

    +164

    1. 1
    2. 2
    3. 3
    <?php
    $count =300;
    define('MAXPROCESS',$count);

    $count дальше естественно нигде не используется..

    null, 05 Мая 2010

    Комментарии (31)
  2. Куча / Говнокод #3155

    +130

    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
    //Сам скрипт
    #!/bin/sh
    cat /opt/chtag/truechars > /opt/chtag/tf
    printf " $1@" >> /opt/chtag/tf
    mp3info -p "%t" "$1">> /opt/chtag/tf
    /opt/chtag/a.out < /opt/chtag/tf > /opt/chtag/t3
    sh /opt/chtag/t3
    
    //truechars
    абвгдеёжзийклмнопрстуфхцчшщьыъэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ
    
    //Исходники a.out
    #include <iostream>
    using namespace std;
    int main()
    {
        int i,j;
        string name,s,as="",truec;
        cin >> truec;
        cin >> s;
        while(!cin.eof()) {as+=" "+s; cin >> s;}
        name=as.substr(1,as.find("@",0)-1);
        as=as.substr(as.find("'")+1);
        for(i=0; i<truec.size(); i++)
        {
    	if(as.find(truec[i],0)<truec.size())
    	{
    	    cout << "printf \"" << name << " OK!\\n\"" << endl;
    	    return 0;
    	}
        }
        cout << "printf \""<<name<<"\\'s tags will be changed...\\nBefore\\n\";\n"
    	    "mp3info \""<< name << "\";\n"
    	    "mid3iconv -e CP1251 -d --remove-v1 \""<< name << "\";\n"
    	    "printf \"Now\\n\"\nmp3info \"" << name << "\""
    	 << endl;
        return 0;
    }

    Вообще должен кодировку в русских тэгах в mp3 нормальной делать...

    Tanger, 04 Мая 2010

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

    +143

    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
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    // народ на протяжении 5+ лет жаловался что постоянно что-то в этой библиотеке Х
    // криво потому что часто (с их слов) попытки вызова ее функций просто обламываются:
    
    int module_main_function()
    {
      int rc = 0;
      // ...
    
      rc = libX_do_work( ... )
      if (rc != OK) {
        // error!!!
      }
    
      // ...
    }
    
    // теперь заглянем в инициализацию этого модуля:
    
    int module_init()
    {
       int rc; 
       // ... кучи дежурного копи-паста для инициализации скипнуты ...
       rc = libZ_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       rc = libY_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       libX_init();   /* лопата */
       if (rc != OK)
       {
         /* error handling */
       }
    
       rc = libA_init();
       if (rc != OK)
       {
         /* error handling */
       }
    
       // ... и т.д. и т.п.
    }

    меня жалобы одного отдела начали потиху доставать что наша библиотека (назовем ее libX) у них в модуле постоянно не работает и шо ваабще за херня. как встроили ее - так и не работает. иногда. в 80+ модулях работает как часы - ни один другой отдел не жалуется - а вот в ихнем очень специальном модуле нет.

    ну я к ним подвалил. они меня сразу в рабочую функцию тыкать стали - вот тут дескать не работает. я им методично: покаж где инициализация. я когда в инициализацию заглянул, почти сразу начал роготять (давно так не смеялся, наболело за годы).
    им минут пять понадобилось что бы в своем копи-паст параде рассмотреть эту глюку.

    ЗЫ ответ: на строке с лопатой, не хватает "rc = ". у библиотеки есть внешняя конфигурация на отсутствии коей она у них обламывалась постоянно. и исправить скрипты свои что бы чужая конфигурация не убивалясь им похоже религия не позволяет.

    Dummy00001, 04 Мая 2010

    Комментарии (27)
  4. PHP / Говнокод #3153

    +168

    1. 1
    2. 2
    $date=date("d.m.y");
    $data=date("d.m.y");

    В header.php, который инклюдитя в каждом файле. И, что самое главное, в коде используются обе переменных!

    azzz, 04 Мая 2010

    Комментарии (21)
  5. Куча / Говнокод #3152

    +137

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function random return float is
           variable X : float;
      begin
           return X;
      end function random ;

    Вот такую реализацию функции random посоветовали на одном VHDL форуме. :D

    Говногость, 03 Мая 2010

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

    +103

    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
    #include <iostream>
    #include <string>
    #include <boost/foreach.hpp>
    
    int main(int argc, char* argv[]) {
      std::string str = "Boost FOREACH!";
      char ch;
      if (boost::foreach_detail_::auto_any_t _foreach_col11 = boost::foreach_detail_::contain( ( str ) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else if (boost::foreach_detail_::auto_any_t _foreach_cur11 = boost::foreach_detail_::begin( _foreach_col11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else if (boost::foreach_detail_::auto_any_t _foreach_end11 = boost::foreach_detail_::end( _foreach_col11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) , (true ? 0 : boost::foreach_detail_::or_( boost::foreach_detail_::and_( boost::foreach_detail_::not_(boost::foreach_detail_::is_array_( str )) , (true ? 0 : boost::foreach_detail_::is_rvalue_( (true ? boost::foreach_detail_::make_probe( str ) : ( str )), 0))) , boost::foreach_detail_::and_( boost::foreach_detail_::not_( boost_foreach_is_noncopyable( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value) ) , boost_foreach_is_lightweight_proxy( boost::foreach_detail_::to_ptr( str ) , boost_foreach_argument_dependent_lookup_hack_value)) )) ) ) {} else for (bool _foreach_continue11 = true; _foreach_continue11 && ! boost::foreach_detail_::done( _foreach_cur11 , _foreach_end11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) ; _foreach_continue11 ? boost::foreach_detail_::next( _foreach_cur11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) : (void)0) if (boost::foreach_detail_::set_false( _foreach_continue11 )) {} else for ( ch = boost::foreach_detail_::deref( _foreach_cur11 , (true ? 0 : boost::foreach_detail_::encode_type( str , boost::foreach_detail_::is_const_( str ))) ) ; ! _foreach_continue11 ; _foreach_continue11 = true) {
        std::cout << ch;
      }
      std::cout << std::endl;
      return 0;
    }

    Конечно, это не совсем говнокод, но... я офигел когда посмотрел во что превращается простой BOOST_FOREACH

    rudvil, 03 Мая 2010

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

    +167

    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
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    function my_isinteger($int)
    {
       $new_int = '';
       for($i=0;$i<strlen($int);$i++)
       {
          if( $int[$i] == "0" )
          {
             $new_int .= "0";
          }
          if( $int[$i] == "1" )
          {
             $new_int .= "1";
          }
          if( $int[$i] == "2" )
          {
             $new_int .= "2";
          }
          if( $int[$i] == "3" )
          {
             $new_int .= "3";
          }
          if( $int[$i] == "4" )
          {
             $new_int .= "4";
          }
          if( $int[$i] == "5" )
          {
             $new_int .= "5";
          }
          if( $int[$i] == "6" )
          {
             $new_int .= "6";
          }
          if( $int[$i] == "7" )
          {
             $new_int .= "7";
          }
          if( $int[$i] == "8" )
          {
             $new_int .= "8";
          }
          if( $int[$i] == "9" )
          {
             $new_int .= "9";
          }
       }
       if ( $int == $new_int )
       {
          return(True);
       }
       else
       {
          return(False);
       }
    }

    Набрел в исходниках старого проекта который до сих пор работает) но начинал я его писал лет 5 назад), знаний тогда было маловато

    W1R0X, 02 Мая 2010

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

    +124

    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
    void f()
    {
    char d[14] = "Hello, error!";
    }
    
    void h()
    {
    char d[14];
    std::cout<<d;
    }
    
    int main()
    {
    f();
    h();
    }

    Кто отгадает, что делает этот код(а еще лучше почему он вобще работает) тому ни чего не будет.

    hromjo, 02 Мая 2010

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

    +165

    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
    function addElement(name, params) {
    var elem = document.createElement(name);
    if (params.href) elem.href = params.href;
    if (params.innerHTML) elem.innerHTML = params.innerHTML;
    if (params.innerText) elem.innerText = params.innerText;
    if (params.className) elem.className = params.className;
    if (params.id) elem.id = params.id;
    if (params.name) elem.name = params.name;
    if (params.type) elem.type = params.type;
    if (params.onclick) elem.onclick = params.onclick;
    if (params.onkeypress) elem.onkeypress = params.onkeypress;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.onmousedown) elem.onmousedown = params.onmousedown;
    if (params.onmouseup) elem.onmouseup = params.onmouseup;
    if (params.onmousewheel) elem.onmousewheel = params.onmousewheel;
    if (params.onload) elem.onload = params.onload;
    if (params.onkeydown) elem.onkeydown = params.onkeydown;
    if (params.height) elem.height = params.height;
    if (params.width) elem.width = params.width;
    if (params.align) elem.align = params.align;
    if (params.valign) elem.valign = params.valign;
    if (params.celspacing) elem.cellspacing = params.cellspacing;
    if (params.cellpadding) elem.cellpadding = params.cellpadding;
    if (params.src) elem.src = params.src;
    if (params.rel) elem.rel = params.rel;
    if (params.border) elem.border = params.border;
    if (params.onkeyup) elem.onkeyup = params.onkeyup;
    if (params.value) elem.value = params.value;
    if (params.action) elem.action = params.action;
    if (params.title) elem.title = params.title;
    vif (params.alt) elem.alt = params.alt;
    document.body.appendChild(elem);
    }

    А что такое for…in?
    P.S. там ещё был перебор всех свойств elem.style, но, увы, сюда не влезло.
    P.P.S. по началу 32-й строки можно определить, как был написан код ;)

    Infamous, 02 Мая 2010

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

    +171

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if (isset($_POST['nick']))       {$nick = $_POST['nick'];}
    if (isset($_POST['pass']))       {$pass = $_POST['pass'];}
    
    
    if (isset($_GET['nick'])) {$nick = $_GET['nick'];}
    if (isset($_GET['pass'])) {$pass = $_GET['pass'];}

    один из видеоуроков Е.Попова=)

    Ice, 02 Мая 2010

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