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

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

    +167

    1. 1
    2. 2
    3. 3
    4. 4
    ...
    chmod($file, 0777);
    unlink($file);
    ...

    На просторах интернета можно найти функцию для рекурсивного удаления папки со всем содержимым вот с таким фрагментом.

    Uchkuma, 13 Июля 2010

    Комментарии (15)
  3. Ruby / Говнокод #3672

    −94

    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
    unless cs.blank?
    cs.each do |cc|
    unless cc.nil?
    unless cc['StatsDetail'].nil?
    ccs=cc['StatsDetail']
    ccs=cc['StatsDetail'].to_a
    ccs.each do |cc1|
    cc2=cc1
    ctime = Time.at(cc2.time.to_i).midnight
    c_url_keyword[ctime] = {} if c_url_keyword[ctime].nil?
    k = {:url=>cc2.url, :keyword=>cc2.keyword, um=>0.0}
    c_url_keyword[ctime][k] = {um=>0, :clicks=>0, :id=>cc2.adConditionId} if c_url_keyword[ctime][k].nil?
    c_url_keyword[ctime][k][um]+=cc2.bid.to_f
    c_url_keyword[ctime][k][:clicks]+=1
    end
    end
    end
    end
    end

    что хотелось этим сказать я не помню, а сейчас фиг разберешь

    piroman171, 08 Июля 2010

    Комментарии (15)
  4. JavaScript / Говнокод #3645

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    var is_rtl = false;if (parent && parent != window && (browser.msie || browser.opera || browser.mozilla || browser.chrome || browser.safari || browser.iphone)) {
      onDomReady(function() {
        document.getElementsByTagName('body')[0].innerHTML = '<h1 style="color: #F00">THIS IS NOT VKONTAKTE AND NOT VK SITE</h1>';
      });

    отжиг от Дурова на странице логин.пэхэпэ

    GoodTalkBot, 05 Июля 2010

    Комментарии (15)
  5. bash / Говнокод #3577

    −371

    1. 1
    2. 2
    3. 3
    :> file
    
    (: ;) > file

    — Как вы инициализируете файл?
    — Улыбаясь!

    Потому что код должен улыбать(ся)!

    nil, 27 Июня 2010

    Комментарии (15)
  6. Java / Говнокод #3558

    +78

    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
    public static Date convertStringToDate(String s) {
            Calendar cl = Calendar.getInstance();
            
            if (s.length() < 8) {
                return null;
            }
            if (s.length() > 8) {
                cl.set((new Integer(s.substring(0, 4))).intValue(),
                        (new Integer(s.substring(4, 6))).intValue() - 1,
                        (new Integer(s.substring(6, 8))).intValue(),
                        (new Integer(s.substring(8, 10))).intValue(),
                        (new Integer(s.substring(10, 12))).intValue(),
                        (new Integer(s.substring(12, 14))).intValue());
            } else {
                cl.set((new Integer(s.substring(0, 4))).intValue(),
                        (new Integer(s.substring(4, 6))).intValue() - 1,
                        (new Integer(s.substring(6, 8))).intValue(), 0, 0, 0);
            }
            return cl.getTime();
        }

    Люблю велосипеды

    lotik, 24 Июня 2010

    Комментарии (15)
  7. C++ / Говнокод #3542

    +160

    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
    //
    Fraction Fraction::operator +(Fraction &ob)
    {
    	int f;int d; int c; int k; int l; int z;
    	char*p; char*x;
    	p=new char; x=new char;
    	Fraction tempOb;
    	if(strcmp(znam, ob.znam)==0)
    	{
    		f=atoi(tempOb.chisl);
    		d=atoi(ob.chisl);
    		c=atoi(chisl);
    		f=d+c;
    		k=atoi(tempOb.znam);
    		l=atoi(znam);
    		k=l;
    		p=itoa(f,p,10);
    		x=itoa(k,x,10);
    		strcpy(tempOb.chisl,p);
    		strcpy(tempOb.znam,x);
    	}
    	else
    	{
    		f=atoi(tempOb.chisl);
    		d=atoi(ob.chisl);
    		c=atoi(chisl);
    		k=atoi(ob.znam);
    		l=atoi(znam);
    		f=c*k+d*l;
    		z=atoi(tempOb.znam);
    		z=l*k;
    		p=itoa(f,p,10);
    		x=itoa(z,x,10);
    		strcpy(tempOb.chisl,p);
    		strcpy(tempOb.znam,x);
    	}
    	tempOb.operator ~();
    	return tempOb;
    }
    //

    Нашел баг с переполнением, если вводишь слишком большие числа. Пытаюсь сделать через char. Работает. Но такие фрагменты кода убивают. Реально сделать легче, а еще лучше если сразу через int?

    ForEveR, 23 Июня 2010

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

    +152

    1. 1
    2. 2
    3. 3
    4. 4
    char * Dictionary::GetWord(int index)
    {
    	return (char *)dictionary[index].c_str();
    }

    Свежее из кандидатских заданий

    Lexey, 21 Июня 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    class MySoapClient extends SoapClient
    ...
    	public function __doRequest($request, $location, $action, $version, $one_way = null) {
    		$result = parent::__doRequest($request, $location, $action, $version, $one_way);
                    echo $this->__getLastRequest();//вот этот момент интересен
    		return $result;
    	}

    Кто-нибудь может объяснить почему ничего не возвращает строчка, с комментарием которая?
    При создании 'trace'=>TRUE указан.
    Если вызывать __getLastRequest() вне данной функции, то все работает.
    Можно ли в __doRequest это сделать?

    gansm, 11 Июня 2010

    Комментарии (15)
  10. Python / Говнокод #3455

    −164

    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
    def _elementWidth(self,v,s):                                                                                        
        t = type(v)                                                                                                     
        if t in _SeqTypes:                                                                                              
            w = 0                                                                                                       
            for e in v:                                                                                                 
                ew = self._elementWidth(self,v)                                                                         
                if ew is None: return None                                                                              
                    w = max(w,ew)                                                                                           
                    return w                                                                                                    
                elif isinstance(v,Flowable) and v._fixedWidth:                                                                  
                    return v.width                                                                                              
                else:                                                                                                           
                    if t is not StringType: v = v is None and '' or str(v)                                                      
                        v = string.split(v, "\n")                                                                                   
                        return max(map(lambda a, b=s.fontname, c=s.fontsize,d=pdfmetrics.stringWidth: d(a,b,c), v))

    Нашел в коде библиотеки Reportlab. Особенно нравится строчка №13.

    Chaka_bum, 11 Июня 2010

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

    +66

    1. 1
    2. 2
    3. 3
    if (xobj.getStringProp() == "N") {
        //do it
    }

    Ну а что тут скажешь?

    lotik, 10 Июня 2010

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