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

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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if ( !empty($special['catalog']) ) {
    	if (count($special['catalog'])>0) {
    		if (count($special['catalog'])>1) {
    ...
    		}
    	}
    }

    Интересная конструкция...

    domaster, 07 Августа 2012

    Комментарии (3)
  3. Java / Говнокод #11504

    +75

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    public static class FuckMeGentlyWithAChainsaw {
        /* This wrapper class exists to work around the possibly most
        * stupid Java bug ever (and that's saying a lot): That
        * URL.equals and URL.hashCode do DNS lookups and
        * block. Which, of course, not only sucks performance-wise
        * but also breaks actual correct URL equality. */
        public final URL url;
        public FuckMeGentlyWithAChainsaw(URL url) {
            this.url = url;
        }
    }

    Код из клиента одной онлайн игрушки, процитирован дословно.

    bormand, 31 Июля 2012

    Комментарии (10)
  4. Java / Говнокод #11451

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    private void executeUiOperation(final UiOperation operation, final Boolean documentReadOnly) {
            boolean readOnly = !edit;
            if (documentReadOnly != null) {
                readOnly |= documentReadOnly;
            }
    //....

    Кручу-верчу запутать хочу...

    ingenuus, 20 Июля 2012

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

    +75

    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
    public function fromRimToDec($str) {
        $i = 1;
        $ii = 2;
        $iii = 3;
        $iv = 4;
        $v = 5;
        $vi = 6;
        $vii = 7;
        $viii = 8;
        $ix = 9;
        $x = 10;
        return $$str;
    }
    
    public function fromDecToRim($str) {
        $RimDigit = array(1 => 'i', 4 => 'iv', 5 => 'v', 9 => 'ix', 10 => 'x');
        $result = '';
        if ($str <= 3) {
            for ($i = 0; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else if ($str > 5 && $str <= 8) {
            $result = $RimDigit[5];
            for ($i = 5; $i < $str; $i++) {
                $result = $result.$RimDigit[1];
            }
        } else {
            $result = $RimDigit[$str];
        }
        return $result;
    }

    Две феерически говёных взаимнообратных функции которые используются в супер функционале чьей-то самописной цмс для автоматического преобразования нумерованных списков с римскими\арабскими цифрами. (Да да, в этой цмс списки с римскими цифрами ограничены по длине десятью итемами, а обычные списки обрабатываются отдельно.) Вся алгебра непозиционных систем счисления меркнет в сравнении.

    vistefan, 19 Июля 2012

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

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    status.setCounter(new Number(
     Number.nullToZero(
    status.getCounter()).add(
    value.movePointRight(2))));

    Действительно, кому нужна перегрузка операторов?

    Zozopy, 03 Июля 2012

    Комментарии (106)
  7. Java / Говнокод #10615

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    protected Condition parseLogicNot(Element n)
    {
       for(Object element : n.elements())
          return new ConditionLogicNot(parseCond((Element) element));
    
       log.error("Empty <not> condition in " + getCurrentFileName());
       return null;
    }

    Закинем ка для каждого по Exception'у :)

    EvSpirit, 07 Июня 2012

    Комментарии (18)
  8. Java / Говнокод #10576

    +75

    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
    try {
        try{
            BasicFormatKeywordsReader keyRep = new BasicFormatKeywordsReader(new ExcelBook(fileName),keywordName,sheetName);
            keyRep.readKeywords(keyword);
        } catch (Throwable ex){
            throw new TestCaseException("Can't initialize flow",ex);
        }
        for(Executable executable:keyword.getChildren()) {
            executable.execute(getRequest());
        }
    } catch (TestCaseException ex) {
        throw ex;
    } catch (Throwable ex){
        throw new TestCaseException(ex);
    }

    Талантливо!

    nafania217518, 05 Июня 2012

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

    +75

    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
    if (ereg("^/products/([0-9]+)/$",$dn,$m)){
        $block_id = $m[1];
        $dn_page = "/products/";
    }
    
    if (ereg("^/products/([-a-z0-9_\.]+)/$",$dn,$m)){
        $block_alias = $m[1];
        $dn_page = "/products/";
    }
    
    if (ereg("^/articles/([0-9]+)/$",$dn,$m)){
        $block_id = $m[1];
        $dn_page = "/articles/";
    }
    
    if (ereg("^/news/([0-9]+)/$",$dn,$m)){
        $block_id = $m[1];
        $dn_page = "/news/";
    }
    
    if (ereg("^/products/([0-9]+)/([0-9]+)/$",$dn,$m)){
        $block_id = $m[1];
        $product_id = $m[2];
        $dn_page = "/products_detail/";
    }
    
    if (ereg("^/products/([-a-z0-9_\.]+)/([-a-z0-9_\.]+)/$",$dn,$m)){
        $block_alias = $m[1];
        $product_alias = $m[2];
        $dn_page = "/products_detail/";
    }
    // дальше начинается ад, не для слабонервных

    Я не буду показывать остальной код и рассказывать, что html в php пихать не красиво, ведь все мы индивидуальны и пишем как хотим. =)
    Кроме всего прочего, человек видимо очень стар и использует давно устаревшую функцию ereg, которая в версии 5.3.0 не имеет силы.
    На эту тему можно пофилософствовать и развести холивар, но мы же разумные люди и те кто пишет комментарии высшие программисты,
    ибо их слово это закон. По крайней мере вы так думаете)

    oooZinka, 29 Мая 2012

    Комментарии (1)
  10. Java / Говнокод #10381

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    byte[] buf = new byte[8192];
    int len = 0;
    while ((len = is.read(buf))>0)
    {
        requestString += new String(buf, 0, len, "UTF-8");
    }

    Пока никто не кормил туда настоящий UTF-8. Только ascii.

    konsoletyper, 28 Мая 2012

    Комментарии (34)
  11. PHP / Говнокод #10213

    +75

    1. 1
    2. 2
    3. 3
    4. 4
    require( "./configuration.php" );
    include( "./include.php" );
    $returned = @( );
    if ( ( $returned ) != @( "harper" ) )

    cthulhu25, 07 Мая 2012

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