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

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

    −155

    1. 1
    $??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see

    Arigato, 15 Ноября 2010

    Комментарии (5)
  3. Python / Говнокод #4581

    −171

    1. 1
    ms = decode_mail_headers(decodeUnknown(message.get_charset(), message.get('Subject', 'Created from e-mail'))).replace("Re: ", "").replace("Fwd: ","").replace("Fw: ", "").rep    lace("RE: ", "").replace("FW: ", "").strip()

    Веселые программисты не знают регэкспов в питоне.

    DiSH, 11 Ноября 2010

    Комментарии (5)
  4. C++ / Говнокод #4568

    +157

    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
    void QeLabel::mouseReleaseEvent(QMouseEvent *ev) {
    
        switch (ev->button()) {
        case Qt::LeftButton : {
                click++;
                click %=2;
                if (click == 0) {
                    emit dbl_clicked(id);
                }
                emit clicked(id);
                break;
            }
        default: break;
        }
    }

    сигналы на нажатие мыши

    onto, 09 Ноября 2010

    Комментарии (5)
  5. PHP / Говнокод #4543

    +162

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    private function trailing_slash_check($str)
         {
              if ((strrpos($str, '/') + 1) != strlen($str))
              {
                   $str = $str.'/';
              }
              
              return $str;
         }

    stasoft, 06 Ноября 2010

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

    −196

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    SELECT SQL_CALC_FOUND_ROWS h.hotel_id , h.class, h.review_score, hr.view_count, MIN(r.min_price) as min_price 
    FROM hotel_facility hf11, hotel_facility hf39, hotel h 
    LEFT JOIN hotels.room r ON r.hotel_id = h.hotel_id 
    LEFT JOIN hotels.hotel_reiting_our hr ON h.hotel_id = hr.hotel_id 
    WHERE h.is_closed != 1 AND city_id=2760 and h.hotel_id = hf11.hotel_id and h.hotel_id = hf39.hotel_id AND hf11.hotelfacilitytype_id = 11 AND hf39.hotelfacilitytype_id = 39 
    GROUP BY h.hotel_id 
    ORDER BY h.ranking DESC;

    rO_ot, 04 Ноября 2010

    Комментарии (5)
  7. PHP / Говнокод #4527

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public function save()
        {
            $query = "SELECT * FROM `users` WHERE `id` = '$this->userId'";
            $result = $this->db->select($query);
            if (!empty($result)) {
                $query = "UPDATE `users` SET `email` = '$this->email', `password` = '$this->pass', `name` = '$this->name', `age` = '$this->age', `date_birth` = '$this->dateBirth', `sex` = '$this->sex', `aboute` = '$this->about' WHERE `id` = '$this->userId'";
            } else {
                $query = "INSERT INTO `users` VALUES('$this->userId','$this->email','$this->pass','$this->name','$this->age','$this->dateBirth','$this->sex','$this->about')";
            }
            $this->db->query($query);
        }

    rtfm, 03 Ноября 2010

    Комментарии (5)
  8. PHP / Говнокод #4521

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    function getCurrentTime( $isTimestamp = false )
    {
        if ( $isTimestamp ) {
            return time();
        } else {
            return date( 'Y-m-d H:i:s' );
        }
    }
    
    $timestamp = strtotime( getCurrentTime() );
    
    $startDate = date( 'Y-m-d H:i:s', $timestamp );

    Gummanoid, 03 Ноября 2010

    Комментарии (5)
  9. C++ / Говнокод #4516

    +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
    16. 16
    for(i = 0;;i++) {
    		tmpS[i]=cin.get();
    		if(tmpS[i] == '\n') {
    			i--;
    			break;
    		}
    		if(!isdigit(tmpS[i]))
    			i--;
    	}
    ...
    for(k = 0; k < i; k++)
    	for(l =0; l < i; l++) {
    		tmp=t[l];
    		t[l]=t[l+1];
    		t[l+1]=tmp;
    	}

    циклический сдвиг строки. Найдено у себя же.

    ReallyBugMeNot, 02 Ноября 2010

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    for($i = 1; $i <= $num_page; $i++){
          if($Page != $i) echo"<a href=\"/news/p:$i/\">"; else echo"<b>["; echo"$i"; if($Page != $i) echo"</a>"; else echo"]</b>";
          if($i != $num_page) echo"&nbsp;| ";
        }

    hardstyler, 26 Октября 2010

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

    +70

    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
    Map<Integer, ArrayList<?>> // filterId : filterParams
    {
    	//
    	// Фильтр занятости квартир (не вписывается в API, поэтому здесь заведены отдельные методы)
    	//
    	
        // хранит: showReserved, DateFrom, DateTo
        private ArrayList<?> reservedFilterParams
    
        public void onDateFilterChanged(Date dateFrom, Date dateTo, boolean showReserved)
        {
    	this.put(QuickFilters.FILTER_RESERVED_ID, reservedFilterParams)
    		
    	reservedFilterParams = ArrayUtils.getOrCreateArrayListWithElements(
    			this, QuickFilters.FILTER_RESERVED_ID, new Boolean(showReserved), dateFrom, dateTo )
    	
    	if (dateFrom == null && dateTo == null)
            {
                reservedFilterParams.set(0,new Boolean(true))
                this.remove(QuickFilters.FILTER_RESERVED_ID)
            }
        }
    
        public boolean doShowReserved()
        {
            return reservedFilterParams ? reservedFilterParams.get(0).booleanValue() : true
        }
    
        public Date getDateFrom()
        {
            return reservedFilterParams?.get(1)
        }
    
        public Date getDateTo()
        {
            return reservedFilterParams?.get(2)
        }
    
    }

    Язык Groovy, стиль - моя переходная форма от Java. Это я сам написал. Вообще мне даже нравится. Есть фильтры для поиска. У каждого фильтра есть только ему ведомые параметры. Приведенный код - это мапка для хранения того, какие пользователь выбрал фильтры и что в них установил.

    Есть API который я делаю, состоящий из типовых фильтров. Этот API автоматически юзает мапку через get/put. Но бывает, придумывается какой-то нетиповой фильтр, и его параметры приходится хардкодить в этой мапке. Короче, мне понравилась идея с мапкой, ведь даже если параметры захардкодены, то они всё равно пихаются в мапку. И читаемость для таких случаев навысоте.

    Bugdog, 20 Октября 2010

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