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

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

    +134

    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
    public static DataSet GetSomeDataSet()
    {
        DataSet ds = null;
        object locker = new object();
        lock (locker)
        {
            if (ds == null)
            {
                // тут инициализация ds
    
                return ds;
            }
            else return ds;
        }
    }

    Метод из работающей проги. Возпроизвёл по памяти, но суть именно такая.
    Насколько понимаю, человек хотел результаты работы метода кэшировать в локальную переменную.
    Да ещё и lock на локальную переменную, который никогда не используется.

    Ordos, 19 Июня 2012

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

    +142

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    return status == TestStatus.Skipped
                        ? TestResultStatus.Skiped
                        : status == TestStatus.Inconclusive
                        ? TestResultStatus.Skiped
                        : status == TestStatus.Failed
                        ? TestResultStatus.Failed
                        : status == TestStatus.Passed
                        ? TestResultStatus.Passed 
                        : TestResultStatus.Failed;

    dirtygopher, 13 Июня 2012

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

    +141

    1. 1
    http://viois.ru/thread.txt

    Приходится признать, что это мой код...

    BiggestFox, 09 Июня 2012

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

    +158

    1. 1
    <span class="header-search-icon" onclick="document.forms['search-form'].submit();"></span>

    Выдержка из стандартного шаблона компонента 1С-Битрикс.

    и что помешало поставить <button type=submit>?

    wildhind, 06 Июня 2012

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

    +53

    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
    function showDate($date){
    $month=explode('-',$date);
    if($month[1]==01){ $name="января"; }
    if($month[1]==02){ $name="февраля"; }
    if($month[1]==03){ $name="марта"; }
    if($month[1]==04){ $name="апреля"; }
    if($month[1]==05){ $name="мая"; }
    if($month[1]==06){ $name="июня"; }
    if($month[1]==07){ $name="июля"; }
    if($month[1]==08){ $name="августа"; }
    if($month[1]==09){ $name="сентября"; }
    if($month[1]==10){ $name="октября"; }
    if($month[1]==11){ $name="ноября"; }
    if($month[1]==12){ $name="декабря"; }
    $rd=$month[2]." ".$name." ".$month[0];
    return $rd;
    }

    BiggestFox, 03 Июня 2012

    Комментарии (10)
  7. Java / Говнокод #10509

    +76

    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
    public enum Permission{
    	SUPERUSER,
    	MANAGER,
            USER;
    
    	public static Permission value(String name) {
    		return mapsValues.get(name);
    	}
    	
    	private final static Map<String, Permission> mapsValues;
    	static {
    		Map<String, Permission> map= new HashMap<String, Permission>();
    
    		Permission[] pp = values();
    		for (Permission p : pp)
    			map.put(p.name(), p);
    
    		mapsValues =  Collections.unmodifiableMap(map);
    	}
    	
    }

    xaoc, 31 Мая 2012

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

    −83

    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
    + (void) playMovieWithResourceFile: (NSString *) file
    {
        const char *source = [ file cStringUsingEncoding: [NSString defaultCStringEncoding] ];
        size_t length = strlen( source );
        
        char *str = malloc( sizeof( char) * (length + 1)  );
        memcpy( str, source, sizeof (char) * (length + 1) );
        
        char *type = strstr( str, "."); 
        *type = 0;
        type++; //< now we have extension in type, and name in str cStrings
        
        NSAutoreleasePool *pool = [NSAutoreleasePool new];
        NSString *sName, *sType;
    	
        sName = [ NSString stringWithUTF8String: str ];
        sType = [ NSString stringWithUTF8String: type];
        [self playMovieWithName: sName Type: sType];
        
        // free str, but do not free type - it is a part of str
        free( str );
        
        [pool release];    
    }

    Вроде бы серьезный проект cocos2d-extensions https://github.com/cocos2d/cocos2d-iphone-extensions
    Отрезаем расширение у файла :)

    Или я что-то не понимаю…

    pilot34, 29 Мая 2012

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

    +69

    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
    //проверка фамилии
    if ($tmp['fam'] == ""):
     $_SESSION["er_mes_registr"] = "Не заполнено поле `Фамилия`.";
     header ("Location: /register/");
     die();
    endif;
    if (strlen($tmp['fam'])>20):
     $_SESSION["er_mes_registr"] = "Длина фамилии не может быть более 20 букв.";
     header ("Location: /register/");
     die();
    endif; 
    
    //проверка имени
    if ($tmp['name'] == ""):
     $_SESSION["er_mes_registr"] = "Не заполнено поле `Имя`.";
     header ("Location: /register/");
     die();
    endif;
    if (strlen($tmp['name'])>20):
     $_SESSION["er_mes_registr"] = "Длина имени не может быть более 20 букв.";
     header ("Location: /register/");
     die();
    endif; 
    
    //проверка email
    if ($tmp['email'] == ""):
     $_SESSION["er_mes_registr"] = "E-mail не может быть пустым!";
     header ("Location: ".$_SERVER['HTTP_REFERER']);
     die();
    endif;
    if (!ereg("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}\$",$tmp['email'])):
     $_SESSION["er_mes_registr"] = "Неверно указан e-mail!";
     header ("Location: ".$_SERVER['HTTP_REFERER']);
     die();
    endif;

    Правильная валидация...

    MAXakaWIZARD, 25 Мая 2012

    Комментарии (10)
  10. Java / Говнокод #10338

    +77

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (eventInfo.getQuoteList().size() == 0) {
            lineInfo.getEventList().add(eventInfo);
    } else {
            lineInfo.getEventList().add(eventInfo);
    }

    Тебе никуда не деться от добавления!

    arbuzz, 21 Мая 2012

    Комментарии (10)
  11. Java / Говнокод #10314

    +86

    1. 1
    2. 2
    3. 3
       public static String serialize3(IModellingWorkerSetup r) {
            return serialize(serialize(serialize(r)));
        }

    как вы понимаете, есть и обратное преобразование

    ykhrustalev, 17 Мая 2012

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