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

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

    −154

    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
    sub makeCleanString {
            my ($self, $uncleanString) = @_;
            $uncleanString = lc($uncleanString);
            my @allowedChars = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "@", ".", " ");     
                 
             my $cleanString = "";
                 
             # SPLIT THE uncleanString INTO AN ARRAY
             my @usernameAR = split(//, $uncleanString);
             my $usernameARcount = @usernameAR;
             my $run=0;
             for ($run=0;$run<$usernameARcount;$run++) {
                 if(grep $_ eq $usernameAR[$run], @allowedChars) {
                     $cleanString .= $usernameAR[$run];
                 }
             }
             return $cleanString;
        }

    Так же есть подобные методы только для букв и цифр

    LiteError, 09 Сентября 2012

    Комментарии (14)
  3. Куча / Говнокод #11679

    +131

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (http_status_code == 200 || http_status_code == 500) {
      .... //success!!
    } else {
      .... // error!!
    }

    Было замечено в одном андроид приложении.

    mr.The, 30 Августа 2012

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

    +107

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (_appliesTo.Contains("CH"))
    {
        depElig &= true;
    }
    else
    {
        depElig &= false;
    }

    Вроде такого boolshit тут ещё не было.

    roman-kashitsyn, 30 Августа 2012

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

    +45

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if($data['status'] == 1 ) {
             $data['status_a'] = 'selected="selected"';
             $data['status_d'] = false;
        } else {
              $data['status_a'] = false;
              $data['status_d'] = 'selected="selected"';
         }
     
    echo '<select id="status">
           <option value="1" '.$data['status_a'].'>Активный</option>
            <option value="0" '.$data['status_d'].'>Не активный</option>
    </select>';

    Мой говнокод, виноват! Но все же интересно было бы, как с таким справляются ?

    nepster, 29 Августа 2012

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

    +25

    1. 1
    2. 2
    3. 3
    4. 4
    uint32 originalDamage = damage;
    
        if (absorb && originalDamage > damage)
            *absorb += (originalDamage - damage);

    Вытащил из 1 эмулятора игры World of WarCraft

    Heisenberg, 19 Августа 2012

    Комментарии (14)
  7. Куча / Говнокод #11593

    +129

    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
    duration = song.getTrack(track).getMeasure(measure).getBeat(beat).getVoice(VOICE).getDuration().getValue();
    							switch (duration) {
    							case 1: convertedDuration = 254;
    							break;
    							case 2: convertedDuration = 255;
    							break;
    							case 8: convertedDuration = 1;
    							break;
    							case 16: convertedDuration = 2;
    							break;
    							case 32: convertedDuration = 3;
    							break;
    							case 64: convertedDuration = 4;
    							break;
    							case 128: convertedDuration = 5;
    							break;
    							case 256: convertedDuration = 6;
    							break;
    							case 512: convertedDuration = 7;
    							break;
    							case 1024: convertedDuration = 8;
    							break;
    							case 2048: convertedDuration = 9;
    							break;
    							case 4096: convertedDuration = 10;
    							break;
    							case 8192: convertedDuration = 11;
    							break;
    							case 16384: convertedDuration = 12;
    							break;
    							case 32768: convertedDuration = 13;
    							break;
    							case 65536: convertedDuration = 14;
    							break;
    							default: convertedDuration = 0;
    							}

    Источник не известен, гуляет сейчас в офисе по чату

    krypt, 15 Августа 2012

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

    +103

    1. 1
    if ( (mver!=0) != (qver!=0) )

    для головоломки слабовато, но глаза все равно напрягает.

    Dummy00001, 13 Августа 2012

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

    +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
    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
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    //Вколите мне каплю никотина, а когда меня разорвет - сожгите ошметки напалмом.
    //Только это смоет мой позор.
    
    //Примерно так у меня выглядит вся обработка исключений:
    int main(int, char**) //или wWinMain, не важно
    {
    	try
    	{
    		//all stuff here
    	}
    	catch(std::exception e)
    	{
    		MessageBoxA(NULL, e.what(), "oops", MB_OK | MB_ICONERROR);
    	}
    	catch(...)
    	{
    		MessageBoxA(NULL, "Unknown error", "oops", MB_OK | MB_ICONERROR);
    	}
    	return 0;
    }
    
    //А еще у меня есть свой класс строки:
    class MyString
    {
    	wchar_t * data;
    	size_t length;
    	MyString(wchar_t * _data, size_t _length) : data(_data), length(_length) { }
    public:
    	//...
    	static MyString MyString::fromNumber(int num) 
    	{ //Грешен, определяю функции в заголовочном, хотя это и не тот случай.
    		wchar_t * data = new wchar_t[16];
    		HRESULT hr = StringCchPrintfW(data, 16, L"%d", num);
    		if(FAILED(hr))
    		{
    			throw std::exception("shit happend inside MyString::fromNumber(int)");
    		}
    		size_t len = 0;
    		hr = StringCchLengthW(data, 16, &len);
    		if(FAILED(hr))
    		{
    			throw std::exception("shit happend inside MyString::fromNumber(int)");
    		}
    		return MyString(data, len);
    	}
    };
    
    //А вкупе с обработкой исключений чуть выше...
    //Чуть не забыл про auto_ptr. Укорочено до сути.
    class Base
    {
    protected:
    	std::auto_ptr<SomeType> data; //А где он инициализируется?...
    public:
    	virtual ~Base() { }
    };
    class Deriv : public Base
    {
    public:
    	Deriv() : Base() 
    	{ 
    		data = std::auto_ptr<SomeType>(new SomeType(args)); //...а вот тут он инициализируется!
    	}
    	virtual ~Deriv() { }
    };
    
    //Паттерны!
    class Single
    {
    	Single(); //Без реализации.
    	template<typename T> Single(T); //Без реализации.
    	template<typename T1, typename T2> T1 operator = (T2); //Без реализации.
    	class Ton
    	{
    		//...
    	};
    	static Ton object;
    	static Ton initObject();
    public:
    	Ton & instance() { return object; }
    };
    
    
    //Мне стыдно.

    Xom94ok, 11 Августа 2012

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

    +23

    1. 1
    QHash<QByteArray, QSharedPointer<KeywordAnalyzerResult::Statistics> >::const_iterator i = res.result()->constBegin();

    Создание STL-style итератора для Qt-ных контейнеров обычно выглядит уродски.

    viktorious, 10 Августа 2012

    Комментарии (14)
  11. PHP / Говнокод #11530

    +59

    1. 1
    if ( (is_file($filename) == true) == true)

    MaxSvargal, 04 Августа 2012

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