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

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

    +140

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    foreach (glob('data/'.$year . "/unzip/*.txt") as $filename) {
    	    $name_file = explode(".",$filename);
    		
    		if (!file_exists($name_file[0].".out")){
    		// заливаем в jar
            exec('nohup java -jar "noaa.jar" ' . $filename . ' ' . $name_file[0] . '.out > /dev/null &', $log, $log1);
            echo "Insert " . $filename . " Complete!\n\r";
    		
    		usleep(10000);
    		}
    		else echo "You have uploaded this file already!\n\r";
        }

    Copy-Paste, 20 Июня 2012

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

    +140

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    private static object Clone(object obj)
    {
    	object newObj = Activator.CreateInstance(obj.GetType());
    	foreach (PropertyInfo pi in obj.GetType().GetProperties())
    		pi.SetValue(newObj, pi.GetValue(obj, null), null);
    	return newObj;
    }

    Потребовалось клонировать объект библиотечного класса со множеством свойств.

    Steve_Brown, 20 Июня 2012

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

    −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
    select a, trim(both ',' from max(SYS_CONNECT_BY_PATH(b, ',')))bb from (
      select count(1) over (partition by a order by /* Важно:*/ a,b /*!*/)rn, a, b from (
    
        select a, b from (
          select 1 a, 'a' b from dual union all
          select 1 a, 'b' b from dual union all
          select 2 a, 'c' b from dual union all
          select 2 a, 'd' b from dual union all
          select 2 a, 'e' b from dual union all
          select 3 a, 'f' b from dual
        ) order by dbms_random.value
    
      )
    )
    start with rn=1 connect by nocycle prior a=a and prior rn+1=rn
    group by a;

    Задача на агрегацию с конкатенацией строк. Можно решить правильно - через свой агрегирующий объект, а можно так, "не по правилам" ))

    RomaShka, 20 Июня 2012

    Комментарии (10)
  5. 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)
  6. 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)
  7. PHP / Говнокод #10864

    +141

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

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

    BiggestFox, 09 Июня 2012

    Комментарии (10)
  8. 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)
  9. 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)
  10. 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)
  11. 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)