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

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $currurl = str_replace(" ", '', $this->helper('core/url')->getCurrentUrl());
    if (strpos($currurl, 'index.php/')) {
        $currurl = str_replace('index.php/', '', $currurl);
    } else if (strpos($currurl, '/index.php')) {
        $currurl = str_replace('index.php', '', $currurl);
    }
    $url_suffix = (substr($currurl, strlen(Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB))));
    <?php if (strlen($url_suffix) <= 0) : #not homepage ?>
    ...

    Magento. Увидел в template, код одной английской компании.

    crook, 06 Июня 2013

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

    −106

    1. 1
    2. 2
    3. 3
    - (FBURLConnection *)createFBURLConnection {
        return [FBURLConnection alloc];
    }

    Facebook-iOS-SDK
    Code conventions? Never heard about it.
    Всё больше убеждаюсь что в ФБ работают лютые гвоздопилы

    clockworkman, 16 Мая 2013

    Комментарии (14)
  4. Python / Говнокод #12992

    −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
    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
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    #/usr/bin/python
    import sys, os, time, httplib
    if sys.platform == 'linux' or sys.platform == 'linux2':
     clearing = 'clear'
    else:
     clearing = 'cls'
     os.system(clearing)
    if len(sys.argv) != 2:
     print "\n|-------------------------------------------------------------|"
     print "|               Admin login finder     v2.0                     |"
     print "| Help: admin-find.py -h                                        |"
     print "|---------------------------------------------------------------|\n"
     sys.exit(1)
    for arg in sys.argv:
     if arg == '-h':
    	print "\n|-----------------------------------------------------------------------------|"
    	print "|                Admin login finder     v2.0                                    |"
    	print "| Usage: admin-find.py www.site.com                                             |"
    	print "| Example: admin-find.py site.com                                               |"
    	print "|-------------------------------------------------------------------------------|\n"
    	sys.exit(1)
    site = sys.argv[1].replace("http://","").rsplit("/",1)[0] 
    site = site.lower()
    admin_path = ['admin.php','admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/','memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php','joomla/administrator','login.php',
    'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html','admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html','admin/controlpanel.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html','w    ebadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html','admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php','administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php','bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','modelsearch/login.php','moderator.php','moderator/login.php','moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',    
    'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html','webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.htm    l','administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','m    odelsearch/login.html','moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpane    l.html','admincontrol.html','panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','adminarea/index.php','adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php','modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php',    'admin2/login.php','admin2/index.php','adm/index.php','adm.php','affiliate.php','adm_auth.php    ','memberadmin.php','administratorlogin.php']
    print "\n|-------------------------------------------------------------|"
    print "|                Admin login finder     v2.0                    |"
    print "|---------------------------------------------------------------|\n"
    print "\n[-] %s" % time.strftime("%X")
    print "[+] Target:",site
    print "[+] Checking paths..."
    print
    try:
     for admin in admin_path:
      admin = admin.replace("\n","")
      admin = "/" + admin
      connection = httplib.HTTPConnection(site)
      connection.request("GET",admin)
      response = connection.getresponse()
      print "%s %s %s" % (admin, response.status, response.reason)
    except(KeyboardInterrupt,SystemExit):
     raise
    except:
     pass

    Оригинал тут:
    http://paste.org.ru/?8l6f57

    lancerok, 13 Мая 2013

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

    +135

    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
    string t = label1.Text;
    char[] bits = t.ToCharArray();
    int a1 = (Convert.ToInt16(bits[0]) - 48) + (Convert.ToInt16(bits[1]) - 48) + (Convert.ToInt16(bits[2]) - 48) + (Convert.ToInt16(bits[3]) - 48) + (Convert.ToInt16(bits[4] - 48));
                    char[] hemming = { '0', '0', bits[0], '0', bits[1], bits[2], bits[3], '0', bits[4] };
                    if (a1 == 1 || a1 == 2 || a1 == 4)
                    {
                        hemming[0] = '0';
                    }
                    else
                    { hemming[0] = '1'; }
                    int a2 = (Convert.ToInt16(hemming[2] - 48) + Convert.ToInt16(hemming[5] - 48) + Convert.ToInt16(hemming[6] - 48));
                    if (a2 == 1 || a2 == 2 || a2 == 4)
                    {
                        hemming[1] = '0';
                    }
                    else
                    { hemming[1] = '1'; }
                    int a3 = (Convert.ToInt16(hemming[4] - 48) + Convert.ToInt16(hemming[5] - 48) + Convert.ToInt16(hemming[6] - 48));
                    if (a3 == 1 || a3 == 2 || a3 == 4)
                    {
                        hemming[3] = '0';
                    }
                    else
                    { hemming[3] = '1'; }
                    if (hemming[7] == '1')
                    {
                        hemming[8] = '1';
                    }
                    else
                    { hemming[8] = '0'; }

    Реализация кода Хемминга (орфография и пунктуация сохранены)

    Psilon, 03 Мая 2013

    Комментарии (14)
  6. PHP / Говнокод #12900

    +151

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if (count($items) > 100) {
        for ($i = count($items); 100 < count($items); $i--) {
            unset($items[$i-1]);
        }
    }

    Массив должен содержать сто или меньше элементов

    VanSanblch, 16 Апреля 2013

    Комментарии (14)
  7. Haskell / Говнокод #12738

    −95

    1. 1
    2. 2
    instance Show (a -> b)
    main = print (*)

    http://liveworkspace.org/code/17QAgf$23
    stderr:
    Stack space overflow: current size 8388608 bytes.
    Use `+RTS -Ksize -RTS' to increase it.

    Возможно это из-за того, что нет реализации show и я написать вменяемую не смогу. Как заставить Haskell сгенерировать для меня show?

    Хочется типа такого:

    {-# LANGUAGE OverlappingInstances, FlexibleInstances, UndecidableInstances, StandaloneDeriving, DeriveFunctor #-}
    deriving instance Show (a -> b)
    main = print (*)

    http://liveworkspace.org/code/17QAgf$21
    http://www.haskell.org/ghc/docs/6.12.1/html/users_guide/deriving.html
    http://www.haskell.org/haskellwiki/GHC/Stand-alone_deriving_declarations

    HaskellGovno, 13 Марта 2013

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

    +7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class Pa || Ra || Ll || El
    {  
       int f || o || o; // четвертое ядро простаивает - надо длиннее переменные заводить
       int b || a || r;
    }
    
    int m || a || i || n(int argc, CHAR* argv[])
    { 
        Parallel parallel = new Pa() || Ra() || Ll() || El ();
    }

    LispGovno, 05 Марта 2013

    Комментарии (14)
  9. JavaScript / Говнокод #12644

    +146

    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
    function EchoError(num)
    {
    
      var errstr = '';
    
      switch(num)
      {
        case 1: errstr = 'А чего считать-то?'; break;
        case 2: errstr = 'Это что еще за непристойности?'; break;
        case 3: errstr = 'Слишком большие числа, сам считай...'; break;
        case 4: errstr = 'А самому на ноль поделить слабо?'; break;
        case 5: errstr = 'Ой! Кажется, я где-то ошибся...';break;
        case 6: errstr = 'Да эта функция в жизни подобных чисел не видела!';break;
        case 7: errstr = 'Я ЭТИ буквы не умею складывать, ты мне другие буквы дай!';break;
      }
    
      alert("Ошибка №" + num + ": " + errstr);
    
    }

    2004 год

    __proto__, 25 Февраля 2013

    Комментарии (14)
  10. Куча / Говнокод #12622

    +124

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    import Control.Applicative
    import Data.List
    isSimple n | n > 0 = not $ or $ map (\n1 -> n `rem` n1 == 0) [2..n-1]
    isNaturalAndSimple n = n > 0 && isSimple n
    generateSource b e = map (flip replicate $ [b..e]) [2..]
    splitAll = groupBy $ \_ _->False
    splitedNumberRangesToNumberSequence l = foldl (liftA2 (++)) (head l) (tail l)
    toNumberSequences = map $ splitedNumberRangesToNumberSequence . map splitAll
    onlySimple = map $ filter $ isNaturalAndSimple . sum
    main = print $ take 4 $ onlySimple $ toNumberSequences $ generateSource 2 3

    HaskellGovno, 20 Февраля 2013

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

    +74

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private String stateChangedReason;
    ...
    
    if (stateChangedReason != null && stateChangedReason instanceof String) {
                dealerManageInfo.setChangeStateReason(stateChangedReason.toString());
    }

    amarfey, 15 Февраля 2013

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