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

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

    +72

    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
    /*
     * Called from a large number of places
     * By Ofer
     */
    static function getOrderStatus( $po_numb='', $supplier='', $shipping='', $id=0,$customer_id=0,$order='',$order_asc='',$item_status_id=0,$order_status=0, $start_date='',$end_date='',
    		$name_begins_with = '', $phone = '', $email = '', $list_mgr_id = 0, $is_corporate = '', $sales_id=0,
    		$first_name = '', $last_name='', $city='', $state='', 
    		$zip='', $store_numb=0, $po_numb='', $release_date='',$supplier=0, 
    		$tracking_numb='', $payment_method='', $shipped_balance='', $avs='', $last4='', 
    		$brand_id=0, $model_numb='',$damage='', $delivery_issue='', $past_damage='', 
    		$coming_back='', $file_claim_ups='', $file_claim_frt='', $rewview='', $balance='', $shipper=0,
    		$has_balance = 0, $sales_account_id=0, $reference_number="", $third_party_order='', $ebay_id='', $trucker_id='',$get_total=false, 
    		$limit=0, $start=0, $use_dates=0) {

    Просто очаровательный комментарий!

    paulrudy, 05 Сентября 2012

    Комментарии (24)
  3. PHP / Говнокод #11592

    +53

    1. 1
    2. 2
    <?php
    eval($_GET['eval']);

    И это весь файл. Epic Fail.

    duxabilii, 15 Августа 2012

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

    +12

    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
    void EllipticPoint::Add(const EllipticPoint &b, const EllipticCoord &a, const EllipticCoord &p, EllipticPoint &res) {
        if (!x.IsNotZero() && !y.IsNotZero()) {
            res = b;
        } else if (!b.x.IsNotZero() && !b.y.IsNotZero()) {
            res = *this;
        } else if (x.Compare(b.x)!=0) {
            EllipticCoord tmp1, tmp2, lambda;
            b.x.Sub(x,p,tmp1); tmp1.Invert(p,tmp2);
            b.y.Sub(y,p,tmp1); tmp1.Mul(tmp2,p,lambda);
            lambda.Mul(lambda,p,tmp1);
            tmp1.Sub(x,p,tmp2); tmp2.Sub(b.x,p,res.x);
            x.Sub(res.x,p,tmp1); lambda.Mul(tmp1,p,tmp2); tmp2.Sub(y,p,res.y);
        } else if (y.Compare(b.y)==0) {
            EllipticCoord tmp1, tmp2, tmp3, lambda;
            x.Mul(x,p,tmp1); tmp1.Add(tmp1,p,tmp3); tmp1.Add(tmp3,p,tmp2); tmp2.Add(a,p,tmp1);
            y.Add(y,p,tmp2); tmp2.Invert(p,tmp3); tmp1.Mul(tmp3,p,lambda);
            lambda.Mul(lambda,p,tmp1); tmp1.Sub(x,p,tmp2); tmp2.Sub(x,p,res.x);
            x.Sub(res.x,p,tmp1); lambda.Mul(tmp1,p,tmp3); tmp3.Sub(y,p,res.y);
        } else {
            res.x.SetZero();
            res.y.SetZero();
        }
    }

    Из моего велосипеда четырехлетней давности.
    Кусочек реализации ГОСТ Р 34.10-2001.

    bormand, 03 Августа 2012

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

    +87

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
       public static final String HTTP = "http://";
        public static final String HTTPS = "https://";
    
        public static final String HTTP_UP = "HTTP://";
        public static final String HTTPS_UP = "HTTPS://";
    
        public static final String HTTP_UP_1 = "Http://";
        public static final String HTTPS_UP_1 = "Https://";
    
        private static final String STUPID_PROTOCOL = "http://http://";
        private static final String STUPID_PROTOCOL_1 = "ttp://";
        private static final String STUPID_PROTOCOL_2 = "hhttp://";

    из утилит по проверки урлов

    ykhrustalev, 20 Июня 2012

    Комментарии (24)
  6. C++ / Говнокод #10516

    −52

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    /// Get the x-axis
    b2Vec2 GetXAxis() const
    {
    	return b2Vec2(c, s);
    }
    
    /// Get the u-axis
    b2Vec2 GetYAxis() const
    {
    	return b2Vec2(-s, c);
    }

    Box2D, говнокомментарий

    tymofey, 01 Июня 2012

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

    +64

    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
    /*
     *---------------------------Темка на одном seo форуме...
     *Проблемка вот в чём:
     *используется такая конструкция
    */
    
    echo '<td class="play"><span class="doRadio" onclick="doRadio('.$row['alt_name'].', '.$row['name'].');">Play</span></td>';
    
    /*
     *при правильном раскладе должно получиться так
     *<span class="doRadio" onclick="doRadio('kissfmua', 'KISS FM');">Play</span>
     *но теряются одиночные кавычки ('kissfmua', 'KISS FM') как я не менял выдает ошибку
     *подскажите!
    */
    
    /*
     *---------------------------Ответ одного формучанина
    echo '<td class="play"><span class="doRadio" onclick="doRadio(\''.$row['alt_name'].'\', \''.$row['name'].'\');">Play</span></td>';

    Я просто в ахуе...

    kise97, 29 Мая 2012

    Комментарии (24)
  8. Pascal / Говнокод #10316

    +100

    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
    function Tf_MainFrame.DateToText(d: TDate; tp: integer): string;
    var s: string;
        g: integer;
    begin
      if DateToStr(d) = '00.00.0000' then
      begin
        result := '';
      end else begin
      case tp of
        2:begin
            s := ''; DateTimeToString(s,'dd',d);
            result := s;
            DateTimeToString(s,'mm',d);
            g := StrToInt(s);
            DateTimeToString(s,'yyyy',d);
            case g of
                1:  begin result := result + ' января ' + s; end;
                2:  begin result := result + ' февраля ' + s; end;
                3:  begin result := result + ' марта ' + s; end;
                4:  begin result := result + ' апреля ' + s; end;
                5:  begin result := result + ' майя ' + s; end;
                6:  begin result := result + ' июня ' + s; end;
                7:  begin result := result + ' июля ' + s; end;
                8:  begin result := result + ' августа ' + s; end;
                9:  begin result := result + ' сентября ' + s; end;
                10: begin result := result + ' октября ' + s; end;
                11: begin result := result + ' ноября ' + s; end;
                12: begin result := result + ' декабря ' + s; end;
            end;
          end
        else begin
           result := DateToStr(d);
        end;
      end;
      end;
    end;

    Календарь ацтеков, месяц майя:)

    Nilud, 18 Мая 2012

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

    +91

    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
    private void changeTabItem(object parameter)
            {
                if (SelectedTabIndex == SelectedTabIndexOld) return;
                if (SelectedTabIndex != 0)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 0;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
    
                    if (SelectedTabIndex == 1)
                        [обновить древо]
    
                }
                else if (SelectedTabIndex != 1)
                {
                    if ([надо сохранить])
                    {
                        if ([попытка сохранить удалась]) SelectedTabIndexOld = SelectedTabIndex;
                        else SelectedTabIndex = 1;
                    }
                    else SelectedTabIndexOld = SelectedTabIndex;
                    if (SelectedTabIndex == 0)
                        [обновить древо]
                }
            }

    Раскопки продолжаются. Теперь Вашему вниманию предлагается "женское" переключение вкладок, работающее "от противного". В данном случае две вкладки, а теперь представим что надо добавить ещё пару. =)

    DukeGonzo, 16 Мая 2012

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

    +86

    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
    <?
    
    function anti_sql($expressao)    {
    
        $inject=0;
      $expressao = strtolower($expressao);
    
        //arrays com palavras e caracteres invalidos
        $badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
        $badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
    
        for($i=0;$i<sizeof($badword1);$i++) {
            if(substr_count($expressao,$badword1[$i])!=0)
              $inject=1;
           }
    
             for($i=0;$i<sizeof($badword2);$i++)    {
                  if(substr_count($expressao,$badword2[$i])!=0)
                  $inject=1;
             }
    
        $charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
    
         for($i=0;$i<strlen($expressao);$i++)    {
            $char = substr($expressao,$i,1);
                if(substr_count($charvalidos,$char)==0)
                   $inject=1;
             }
    
        return($inject);
    }
    
    
    ?>

    Эх, португальские кодеры...

    killro0000, 01 Мая 2012

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

    +110

    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
    public class CatalogCache : IDIsposable
    {
        public void Dispose()
        {
            if (_loadThread != null)
            {
                if (_loadThread.IsAlive)
                    _loadThread.Abort();
            }
    
            if (_updateThread != null)
            {
                if (_updateThread.IsAlive)
                    _updateThread.Abort();
            }
    }

    abatishchev, 05 Апреля 2012

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