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

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

    −106.3

    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
    $str=~/(.+?)<\/h2><p>(.+)/;
    ($d2,$str)=($1,$2);
    ($d2,undef)=split (/\,/,$d2);
    ($aday,$amn)=split (/ /,$d2);
    if ($amn=~/^я/i) {$amon='01'}
    elsif ($amn=~/^ф/i) {$amon='02'}
    elsif ($amn=~/^мар/i) {$amon='03'}
    elsif ($amn=~/^ап/i) {$amon='04'}
    elsif ($amn=~/^мая/i) {$amon='05'}
    elsif ($amn=~/^июн/i) {$amon='06'}
    elsif ($amn=~/^июл/i) {$amon='07'}
    elsif ($amn=~/^ав/i) {$amon='08'}
    elsif ($amn=~/^с/i) {$amon='09'}
    elsif ($amn=~/^о/i) {$amon='10'}
    elsif ($amn=~/^н/i) {$amon='11'}
    elsif ($amn=~/^д/i) {$amon='12'}

    Ещё один фрагмент граббера. Славное определение месяца :)

    Suor, 22 Декабря 2009

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

    +143.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
    #define true false
    
    ...
    
    
    #define double int
    
    ...
    
    
    #define TRUE FALSE
    // удачной отладки суки

    4cppMan, 16 Декабря 2009

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

    +158.2

    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
    function pass_gen() //Пароль генерируется восьмисимвольный, символы не повторяются
    {
    	$i = 0;
    	$pass = '';
    	$new_symbol = '';
    
    	// символы a-z, A-Z, 0-9, _-=![]{}
    	$symbols = 'abc1d=efg2h!ijklm3[nopqr4stuvw5]xyz_ABC6DEFG{7HIJKL8MNOPQ}R9STUVWXYZ-';
    	$count = strlen($symbols) - 1;
    	
    	while ($i <= 20)
    	{
    		$new_symbol = substr($symbols, rand(0, $count), 1);
    		
    		if (strpos($pass, $new_symbol) === false) 
    		{
    			$pass .= $new_symbol;
    			$i++;
    		}
    	}
    	
    	$pass = substr($pass, 5, 8);
    
    	return $pass;
    }

    "лучшая случайность" и тд)

    litrumb, 13 Декабря 2009

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

    +154.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
    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 _patchManualImagesClasses() {
        var images=document.getElementsByTagName('img');
        var re0=/^image_image_\d+$/;
        var re1=/^image_middle_\d+$/;
        var re2=/^image_small_\d+$/;
        for(var i=0; i<images.length; i++ ) {
            var id=images[i].id;
            if (re0.test(id) || re1.test(id) || re2.test(id) ) {
                var _m=images[i];
                var align=_m.getAttribute('align');
                var iClass=_m.getAttribute('className');
                if (iClass == null || iClass.length==0 ) {
                    iClass=_m.getAttribute('class');
                };
    
                if (iClass==null || iClass.length==0 ) {
                    _m.setAttribute('class', 'content_img_'+align);
                    _m.setAttribute('className', 'content_img_'+align);
                };
            };
        };
    };
    
    function _patchManulImagesClasses() {
    	_patchManualImagesClasses();
    };

    Первая функция нужна только ради того, чтобы для картинок сделать 10px отступ через CSS. А вот вторая — понятия не имею зачем она написана. Причем, нигде на сайте _patchManulImagesClasses, конечно, не используется.

    Господи, спасибо Тебе, что дал нам Джона Резига и jQuery!

    rusavv, 11 Декабря 2009

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

    +101.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if formnaam='UBI_LABELS'
    	do sqlcode with 'exec sp_kaartbak_overzicht ?mloginid, ?formnaam, ?mfilter0, ?mfilter1, ?mfilter2, ?mfilter3, ?mfilter4, ?mfilter5, ?mfilter6, ;
    	?mfilter7,?mfilter8,?vnaam,?tnaam, ?vpartijnr, ?tpartijnr, ?vlokatie,?tlokatie,?vdatum, ?tdatum, ?mkg, ?moptie1','novzkrt1', 'ovzkaartbak.prg'
    else
    	do sqlcode with 'exec sp_kaartbak_overzicht ?mloginid, ?formnaam, ?mfilter0, ?mfilter1, ?mfilter2, ?mfilter3, ?mfilter4, ?mfilter5, ?mfilter6, ;
    	?mfilter7,?mfilter8,?vnaam,?tnaam, ?vpartijnr, ?tpartijnr, ?vlokatie,?tlokatie,?vdatum, ?tdatum, ?mkg, ?moptie1','novzkrt1', 'ovzkaartbak.prg'
    endif

    Visual FoxPro. Иллюзия выбора.

    bolkhovsky, 10 Декабря 2009

    Комментарии (6)
  7. bash / Говнокод #2224

    −122.9

    1. 1
    ps -p $$ -o pid | tail -1 | sed -e "s/ //g"

    получение своего pid.

    andrianov, 04 Декабря 2009

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

    +68.3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // Код на Qt
    QStringList list;
    ...
    if (0 == QString::compare(list[i].data()[0],' ',Qt::CaseInsensitive))
    {
    ...
    }
    ..

    Сравнение нулевого символа i-той строки с пробелом)))

    k06a, 30 Ноября 2009

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

    +158.9

    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
    // Эта функция автоматически обработает все текстовые поля (text,password). 
    // Если у вас изначально задано значение для поля, то при фокусировании поля - значение пропадёт, если пользователь не введёт новое значение, то вернётся первоначальное. 
    // Это jQuery версия
    $("input:text, textarea, input:password").each(function () {
    	if (this.value == '') this.value = this.title;
    });
    $("input:text, textarea, input:password").focus(function () {
    	if (this.value == this.title) this.value = '';
    });
    $("input:text, textarea, input:password").blur(function () {
    	if (this.value == '') this.value = this.title;
    });
    $("input:image, input:button, input:submit").click(function () {
    	$(this.form.elements).each(function () {
    		if (this.type == 'text' || this.type == 'textarea' || this.type == 'password') {
    			if (this.value == this.title && this.title != '') {
    				this.value = '';
    			}
    		}
    	});
    });

    Не зря Джонни Рейсиг говорил, что jQuery детям не игрушка.

    chu4, 29 Ноября 2009

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

    +128.8

    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
    public static T Parse<T>(string txt)
            {
                if (string.IsNullOrEmpty(txt))
                    return default(T);
    
                txt = txt.Trim();
    
                Type[] typeArray = new Type[] {
                    typeof(string),
                    typeof(T).MakeByRefType()};
    
                MethodInfo mi = typeof(T).GetMethod("TryParse", typeArray);
    
                T value = default(T);
    
                if (mi != null)
                {
                    object[] prms = new object[]{
                    txt,
                    value};
    
                    if ((bool)mi.Invoke(null, prms) && prms[1] != null)
                        value = (T)prms[1];
                }
    
                return value;
            }

    Не скажу что это такой уж говнокод, но что то говнистое в нем есть =)

    sven47, 26 Ноября 2009

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(strstr($username, '**')) {
    
    $admin = 1;
    $username = str_replace('**', '', $username);
    $_SESSION['admin'] = 1;
    
    } else {
    
    $admin = 0;
    
    }

    Вот нашел случайно... Судя по всему этот кусок в каком-то коммерческом проекте
    "Actually, it turns out there’s an even simpler way, and that Adam P’s predecessor discovered and implemented it for their client’s fairly large ecommerce website."

    furang, 25 Ноября 2009

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