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

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

    +20

    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
    Ini ini(m_serviceProvider);
            if( ini.load( gameInputStream ) == false )
            {
                LOGGER_ERROR(m_serviceProvider)("StartupConfigLoader::loadGame_ Invalid load game settings '%s'"
                    , _gameIniPath.c_str()
                    );
    
                return false;
            }
    
        IniUtil::getIniValue( ini, "Project", "Name", _settings.projectName, m_serviceProvider );
        IniUtil::getIniValue( ini, "Project", "Company", _settings.companyName, m_serviceProvider );
        IniUtil::getIniValue( ini, "Project", "Codename", _settings.applicationSettings.projectCodename, m_serviceProvider );
        IniUtil::getIniValue( ini, "Project", "Version", _settings.applicationSettings.projectVersion, m_serviceProvider );
        IniUtil::getIniValue( ini, "Locale", "Default", _settings.defaultLocale, m_serviceProvider );
        IniUtil::getIniValue( ini, "Game", "ContentResolution", _settings.applicationSettings.contentResolution, m_serviceProvider );     
        IniUtil::getIniValue( ini, "Game", "FixedContentResolution", _settings.applicationSettings.fixedContentResolution, m_serviceProvider );
        IniUtil::getIniValue( ini, "Game", "PersonalityModule", _settings.personalityModule, m_serviceProvider );
        IniUtil::getIniValue( ini, "Game", "AlreadyRunning", _settings.alreadyRunning, m_serviceProvider );
        IniUtil::getIniValue( ini, "Game", "WindowModeCheck", _settings.applicationSettings.windowModeCheck, m_serviceProvider );
        IniUtil::getIniValue( ini, "Window", "Size", _settings.applicationSettings.windowResolution, m_serviceProvider );
        IniUtil::getIniValue( ini, "Window", "Bits", _settings.applicationSettings.bits, m_serviceProvider );
        IniUtil::getIniValue( ini, "Window", "Fullscreen", _settings.applicationSettings.fullscreen, m_serviceProvider );
            IniUtil::getIniValue( ini, "Window", "MaxFPS", _settings.maxfps, m_serviceProvider );
        IniUtil::getIniValue( ini, "Window", "VSync", _settings.applicationSettings.vsync, m_serviceProvider );

    Это оттуда уже другой. Они все сговорились что-ли? Ынтерпрайз головного мозга.
    PS: boost::property_map не осилил.

    LispGovno, 31 Января 2014

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

    +8

    1. 1
    2. 2
    3. 3
    QRegExp re("<cite>‎(.*)</cite>");
    re.setMinimal(true);
    qDebug() << re.indexIn("<cite>http://test.com/</cite>");

    Ошибка, на фикс которой мы с другом убили почти час.

    bormand, 15 Октября 2013

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

    +147

    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
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    Файл с настройками
    
    $category_set = array (
    'allow_num_news' => '1', //Показывать количество новостей
    'allow_null_cat' => '0', //Показывать разделы в которых нет новостей
    'el_1' => '<div class="mydiv">', //Основной блок. Стандартно - <ul> Свои - <div class="mydiv>"
    'c_el_1' => '</div>', //Закрывающий тэг основной блок. Стандартно - </ul> Свои - </div>
    'el_2' => '<h3>', //Элемент подменю. Стандартно - <li> Свои - <h3>
    'c_el_2' => '</h3>', //Закрывающий тэг элемент подменю. Стандартно - </li> Свои - </h3>
    'el_3' => '', //Дополнительно. Стандартно - '' Свои - ''
    'c_el_3' => '', //Закрывающий тэг дополнительно.  Стандартно - '' Свои - ''
    'p_el_1' => '', //Элемент основного блока если есть подкатегории. Стандартно - '' Свои - ''
    'p_c_el_1' => '', //Закрывающий тэг  основного блока если есть подкатегории. Стандартно - '' Свои - '' 
    'p_el_2' => '', //Элемент подменю если есть подкатегории. Стандартно - <ul> Свои - ''
    'p_c_el_2' => '', //Закрывающий тэг  подменю если есть подкатегории. Стандартно - </ul> Свои - ''
    'p_el_3' => '<p>', //Элемент дополнительно если есть подкатегории. Стандартно - <li> Свои - <p>
    'p_c_el_3' => '</p>', //Закрывающий тэг  дополнительно если есть подкатегории. Стандартно - </li> Свои - </p>
    'el_add' => '<span style="font-size:10px;"> - ', //Тэг для количества новостей
    'c_el_add' => '</span>', //Закрывающий тэг для количества новостей
    );
    
    include "Файл с настройками"
    
    function categoryTree($cat_arr,$parent_id){
       global $category_set, $DOMAIN,$link_set;
    	$elAdd = $category_set['el_add'];  
    	$celAdd = $category_set['c_el_add'];
          if(is_array($cat_arr) and  isset($cat_arr[$parent_id])){
             foreach($cat_arr[$parent_id] as $cat){
    		   $el1 = $category_set['el_1'];  
    		   $cel1 = $category_set['c_el_1']; 
    		   $el2 = $category_set['el_2'];  
    		   $cel2 = $category_set['c_el_2'];
    		   $el3 = $category_set['el_3'];  
    		   $cel3 = $category_set['c_el_3'];
    		   if ($cat['id_parent'] >0){
    			    $el1 = $category_set['p_el_1'];  
    		        $cel1 = $category_set['p_c_el_1'];  
    		        $el2 = $category_set['p_el_2'];   
    		        $cel2 = $category_set['p_c_el_2']; 
    		        $el3 = $category_set['p_el_3'];  
    		        $cel3 = $category_set['p_c_el_3'];
    				$sub = $link_set['sub_for_tree'];
               }
    		   $numNews = $cat['num_news'];
    		   if($category_set['allow_num_news'] != 1){
                  $elAdd = ''; 
    	          $celAdd = '';  
    			  $numNews = '';
               } 
    		   if($cat['num_news'] != 0){
    	           $catTree .= $el1; 
                   $catTree .= $el2.$el3."<a href='".$DOMAIN."/".$sub."".$link_set['category_for_tree']."/".$cat['id_category']."/'>".$cat['name']."</a>".$elAdd."".$numNews.$celAdd.$cel3.$cel2;
                   $catTree .=  categoryTree($cat_arr,$cat['id_category']);
                   $catTree .= $cel1; 
    		   }    
    		   else{
    		       if($category_set['allow_null_cat'] == 1){
    			       $catTree .= $el1; 
                       $catTree .= $el2.$el3."<a href='".$DOMAIN."/".$sub."".$link_set['category_for_tree']."/".$cat['id_category']."/'>".$cat['name']."</a>".$elAdd."".$numNews.$celAdd.$cel3.$cel2;
                       $catTree .=  categoryTree($cat_arr,$cat['id_category']);
                       $catTree .= $cel1;    
    			   }
    		   }		       
             }
          } 
          else return null;  
    return $catTree;        
    }

    Цель.
    Полный, наиполнейший, высший контроль над деревом категорий с подкатегориями. Хорошо, что комментарии написал.
    Кто бы, что не говорил, а это изумительно работает. Единственная недоработка, тэг <а> Тоже должен быь в массиве с настройками :-) я так думаю.
    з.ы Переделывать лень.

    straga_coda, 30 Марта 2013

    Комментарии (76)
  5. Java / Говнокод #10257

    +71

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    int buttonState = R.id.power_widget_button_indic; // Зачем-то объявили лишнюю переменную, ссылающуюся на константу
    ImageView indic = (ImageView) mView.findViewById(R.id.power_widget_button_indic); // Но здесь используем константу, а не новую, более короткую переменную!
    if ((Settings.System.getInt(context.getContentResolver(), Settings.System.EXPANDED_HIDE_INDICATOR, 0)) == 1) {
    	indic.setVisibility(8); // Для установки видимости существуют константы View.VISIBLE, View.INVISIBLE и View.GONE, а циферка 8 вообще ни о чем мне не говорит
    } else {
    	indic.setVisibility(0); // И еще раз
    }

    Это - кусок кода из Android 4, вернее, из CyanogenMod 9. Репозиторий frameworks_base, файл packages/SystemUI/src/com/android/systemui/statusbar/powerwidget/PowerButton.java. И такого говнокода в исходниках Android - полно :(

    RankoR, 13 Мая 2012

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

    +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
    function postUrl(path, params, method) {
    	if ($('#service-form').length > 0) {
    		return false;
    	}
        var formHtml = '<form action="' + path + '" method="' + method + '" style="display:none;" id="service-form">';
        for(var key in params) {
            formHtml += '<input type="hidden" name="' + key + '" value="' + params[key] + '" />';
        }
        formHtml += '</form>';
    
        $("#main").append(formHtml);
        $("#service-form").submit();
    }

    Игра МосВар

    Vasiliy, 12 Мая 2011

    Комментарии (76)
  7. Си / Говнокод #5299

    +146

    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
    #include <stdio.h>
    
    #define BELL '\a'
    #define TACT {for (i = 0; i < 100000000; i++) ;}
    #define HALFTACT {for (i = 0; i < 20000000; i++) ;} 
    
    int main ()
    {
    	int i;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT
    	putchar(BELL);
    	HALFTACT
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	TACT;
    	putchar(BELL);
    	HALFTACT;
    	putchar(BELL);
    	return 0;
    }

    Ну хоть что-то автоматизировал...

    dwinner, 16 Января 2011

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

    +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
    17. 17
    18. 18
    /// <summary>
            /// Return "Yes" for true and "No" for false
            /// </summary>
            public static string GetYesNoString(this bool val) 
            {
                return val ? "Yes" : "No";
            }
    
            /// <summary>
            /// Return "N/A" if no value, "Yes" for true and "No" for false
            /// </summary>
            public static string GetYesNoString(this object val)
            {            
                if(val is bool)
                    return ((bool)val).GetYesNoString();
    
                return "N/A";
            }

    Extension of the object class :) Very stupid because it make sense only for bool type, but it can be selected for every type in intellisense :)

    bugotrep, 27 Декабря 2010

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

    +151

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function pro($input) { 
    $input=str_replace("\0", '_', $input); 
    $input=trim($input); 
    $input=strtr($input,array('!'=>'&#33;','"'=>'&#34;','$'=>'&#36;','%'=>'&#37;',"'"=>"&#39;",'('=>'&#40;',')'=>'&#41;','*'=>'&#42;','+'=>'&#43;',','=>'&#44;','-'=>'&#45;','.'=>'&#46;','/'=>'&#47;',':'=>'&#58;','<'=>'&#60;','='=>'&#61;','>'=>'&#62;','?'=>'&#63;','@'=>'&#64;','['=>'&#91;','\\'=>'&#92;',']'=>'&#93;','^'=>'&#94;','_'=>'&#95;','`'=>'&#96;','{'=>'&#123;','|'=>'&#124;','}'=>'&#125;','~'=>'&#126;')); 
    return $input; 
    } 
    
    function depro($input) { 
    $input=strtr($input,array('&#33;'=>'!','&#34;'=>'"','&#36;'=>'$','&#37;'=>'%',"&#39;"=>"'",'&#40;'=>'(','&#41;'=>')','&#42;'=>'*','&#43;'=>'+','&#44;'=>',','&#45;'=>'-','&#46;'=>'.','&#47;'=>'/','&#58;'=>':','&#60;'=>'<','&#61;'=>'=','&#62;'=>'>','&#63;'=>'?','&#64;'=>'@','&#91;'=>'[','&#92;'=>'\\','&#93;'=>']','&#94;'=>'^','&#95;'=>'_','&#96;'=>'`','&#123;'=>'{','&#124;'=>'|','&#125;'=>'}','&#126;'=>'~')); 
    return $input; 
    }

    во всяком случае аффтар считает что это действительно защита не в рот ибацца, anti sql inj.. это вам не это.

    GoodTalkBot, 24 Августа 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function banByIP($ip) {
    	$result = mysql_query("SELECT * FROM `" . $GLOBALS['mysql_bans_table'] . "` WHERE `ip` = '" . mysql_real_escape_string($ip) . "' LIMIT 1");
    	while ($ban = mysql_fetch_assoc($result)) {
    		return $ban;
    	}
    }

    Из движка TinyIB.

    telnet, 29 Июня 2010

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

    +159

    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
    #define a w[p]++;              // a +  add
    #define s w[p]--;              // s -  subtract
    #define m p++;                 // m >  more
    #define l p--;                 // l <  less
    #define b while(w[p]) {        // b [  begin
    #define e }                    // e ]  end
    #define o putchar(w[p]);       // o .  out
    #define i w[p]=getchar();      // i ,  in
    
    void main()
    {
      int w[1024];
      int p = 0;
      int _ = 1024;
      while (_--) w[_] = 0;
    
      m a a a a b l a a a a a a a a a a a a a a a a m s e l a a a a a a a a o m a a
      b l a a a a a a a a a a a a a a a a m s e l s s s o a a a a a a a o o a a a o
      m a a a a a b l s s s s s s s s s s s s s s s s m s e l a o m a a a b l a a a
      a a a a a a a a a a a a a m s e l a a a a a a a o a a a a a a a a a a a a a a
      a a a a a a a a a a o a a a o s s s s s s o s s s s s s s s o i
    }

    Fuck my brain...
    По мотивам http://daniel.lorch.cc/projects/brainfuck/php-brainfuck-1.01/doc.html

    Stalker, 29 Мая 2010

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