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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. Java / Говнокод #10314

    +86

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

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

    ykhrustalev, 17 Мая 2012

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

    +136

    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
    if ( sectors && sectorsNum )
    {
    	for ( i = 0; i < ( int )sectorsNum; i++)
    	{
    		*(unsigned int*)(pl + 4 + 4 + i * 10 ) = sectors[i].originalNum;
    		*(pl + 4 + 4 + i * 10 + 4) = 3 ;
    		*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = sectors[i].usedNum;	
    		*(pl + 4 + 4 + i * 10 + 9) = 4 ;
    	}
    	*(unsigned int*)(pl + 4 + 4 + i * 10 ) = newSectors;
    	*(pl + 4 + 4 + i * 10 + 4) = 0x0b ;
    	*(unsigned int*)(pl + 4 + 4 + i * 10 + 5 ) = newSectors * 0x200; // сектора в байты
    }

    В старых исходниках довольно крупного проекта нашелся сей замечательный отрывок... И очень одинокий коммент...

    sima, 17 Мая 2012

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

    −119

    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
    Функция ЧекМайл(Майл) 
        
    	Перем Чек;
    	
    	Если Найти(Майл,"@mail.ru")<>0 Тогда
    		
    		Чек = 0; 
    		
    	Иначе	
    		
    		Чек = 1;
    		
    	КонецЕсли;
    	
    	Возврат Чек;
    	
    КонецФункции
    
    ...
    	  Если ЧекМайл("[email protected]") = 0 Тогда
    	  	 Предупреждение("Ой! Что-то пошло не так!");
    	  	 Предупреждение("Не беспокойтесь, это наша ошибка. Мы уже знаем о ней и примем меры к ее исправлению!");
    	  	 СтатусВозврата(0);
    	  	 Возврат;
    	  КонецЕсли;

    могли и предупредить ...

    informatikmarazmatik, 16 Мая 2012

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

    −1065

    1. 1
    @property (nonatomic, retain) NSString *totalCount;

    Чуть глаза от такого не лопнули

    QuickNick, 16 Мая 2012

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