1. PHP / Говнокод #12935

    +148

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    while(true){
        $it = $this->item_by_id($i++);
        if($it != null){
            $nItems[] = $it;
        }
        if(count($nItems) >= 5){
            break;
        }
    }

    mr.The, 25 Апреля 2013

    Комментарии (4)
  2. 1C / Говнокод #12934

    −121

    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
    Функция ТекстЗапросаИзСтрокиВЧисло(пИмяПоля, пДлинаСтроки, пСимволРазделителя=".")
        лТекст="ВЫБОР ";
        Для лДлинаЦелойЧасти=0 По пДлинаСтроки Цикл
            Если лДлинаЦелойЧасти=пДлинаСтроки Тогда 
                лТекст=лТекст+"ИНАЧЕ"+Символы.ПС;
            Иначе
                лТекст=лТекст+"КОГДА ПОДСТРОКА("+пИмяПоля+", "+(лДлинаЦелойЧасти+1)+", 1)="""+пСимволРазделителя+""" ИЛИ ПОДСТРОКА("+пИмяПоля+", "+(лДлинаЦелойЧасти+1)+", 1)="""" ТОГДА "+Символы.ПС;
            КонецЕсли; 
            Если лДлинаЦелойЧасти=0 Тогда лТекст=лТекст+"    0"+Символы.ПС; КонецЕсли; 
            Для лИнд=1 По лДлинаЦелойЧасти Цикл
               лТекст=лТекст+"    ВЫБОР "+Символы.ПС;
                Для лЦифра=0 По 9 Цикл
                    лТекст=лТекст+"    КОГДА ПОДСТРОКА("+пИмяПоля+", "+лИнд+", 1)="""+лЦифра+""" ТОГДА "+лЦифра+Символы.ПС;
                КонецЦикла;
                лТекст=лТекст+"    ИНАЧЕ 0 КОНЕЦ"+?(лИнд=лДлинаЦелойЧасти, "", "*"+Формат(Pow(10, лДлинаЦелойЧасти-лИнд), "ЧРД=.; ЧГ=0")+"+")+Символы.ПС;
            КонецЦикла;
            Для лИнд=лДлинаЦелойЧасти+2 По пДлинаСтроки Цикл
                лТекст=лТекст+"+ ВЫБОР";
                Для лЦифра=0 По 9 Цикл
                    лТекст=лТекст+"    КОГДА ПОДСТРОКА("+пИмяПоля+", "+лИнд+", 1)="""+лЦифра+""" ТОГДА "+лЦифра+Символы.ПС;
                КонецЦикла;
                лТекст=лТекст+"    ИНАЧЕ 0 КОНЕЦ"+?(лИнд=лДлинаЦелойЧасти, "", "/"+Формат(Pow(10, лИнд-лДлинаЦелойЧасти-1), "ЧРД=.; ЧГ=0"))+Символы.ПС;
            КонецЦикла;
        КонецЦикла;
        лТекст=лТекст+"КОНЕЦ";
        Возврат лТекст;
    КонецФункции

    kovyl2404, 23 Апреля 2013

    Комментарии (35)
  3. JavaScript / Говнокод #12933

    +170

    1. 1
    if (window.IsLocking !== [].xxx)

    Проверка на undefined

    Zergatul, 22 Апреля 2013

    Комментарии (6)
  4. Objective C / Говнокод #12931

    −105

    1. 1
    2. 2
    [NSTimer scheduledTimerWithTimeInterval:[[NSDate distantFuture] timeIntervalSinceNow] 
                target:self selector:@selector(dummyTimer:) userInfo:self repeats:YES];

    Еще один занятный персонаж. Особенно порадовало "repeats:YES"

    mas_an, 22 Апреля 2013

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

    +138

    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
    public bool ParsеOboznString(string obozn)
            {
                Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");  // Установка русской культуры
    
                try
                {
                    Regex reg = new Regex(@"(\D*)(\d*)([^\+]*)[\+]?(\d+[,]\d+)*");    // регулярное выражение
                    Match m = reg.Match(obozn);                                                            // разбор строки обозначения
                    ....
                    ....
                    ....
                }
                catch
                {
                    return false;
                }
    
                return true;
            }

    "культурный" код и "содержательные" комментарии

    diimdeep , 22 Апреля 2013

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

    +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
    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
    Double extractShare(Product product, ShareExtractor extractor) {
            if (product != null) {
    
                Equity equity = product.getEquity();
    
                if (equity != null) {
                    Double shareMetric = extractor.extract(equity);
                    if (shareMetric != null) {
                        return shareMetric;
                    }
                }
            }
            return 0.0;
        }
    
        private interface ShareExtractor {
    
            ShareMetricExtractor PUBLIC_SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
                @Override
                public Double extract(Equity equity) {
                    return equity.getPublicShareOutst();
                }
            };
    
            ShareMetricExtractor SHARE_OUTST_EXTRACTOR = new ShareExtractor() {
                @Override
                public Double extract(Equity equity) {
                    return equity.getShareOutst();
                }
            };
    
            Double extract(Equity equity);

    Архитектор головного мозга - это диагноз. Фанатзия нашего системного архитектора толи зашкалила, то ли дала сбой. Сей фердопердозный код был заменен следующим же коммитом, но свн помнит все! )

    jericho, 22 Апреля 2013

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

    +153

    1. 1
    2. 2
    3. 3
    $d = date("d")-1;
    $h = date("H")-2;
    header("Last-Modified: " . gmdate("D, ".$d." M Y ".$h.":i:s") . " GMT");

    Вчера

    straga_coda, 21 Апреля 2013

    Комментарии (4)
  8. JavaScript / Говнокод #12926

    +155

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <script type="text/javascript" language="javascript">
    function DeleteConfirmation()
    {
     if (confirm("Are you sure, 
         you want to delete selected records ?")==true)
     return true;
     else
     return false;
    }
    </script>

    http://csharpdotnetfreak.blogspot.com/2009/05/edit-multiple-records-gridview-checkbox.html

    Да так да, нет так нет

    denis90, 21 Апреля 2013

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

    +16

    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
    #define TYPE_INIT_(_Number, _Line, _Type,...) struct ln_##_Line##_number_##_Number : public _Type\
    {\
      ln_##_Line##_number_##_Number()\
        :_Type(__VA_ARGS__){}\
    \
      ln_##_Line##_number_##_Number(const _Type& _val)\
        :_Type(_val){}\
    \
      const _Type& operator=(const _Type& _val)\
      {\
        ((_Type)(*this)) = _val;\
        return (*this);\
      }\
    }
    #define TYPE_INIT(_Number, _Line, _Type,...)  TYPE_INIT_(_Number, _Line, _Type, __VA_ARGS__)
    #define INIT(_Type, ...) TYPE_INIT(__COUNTER__, __LINE__, _Type, __VA_ARGS__)
    
    // использование
    
    struct ABC
    {
      int A,B,C;
      
      ABC(int _A,int _B,int _C)
        :A(_A),
        B(_B),
        C(_C)
      {}
    };
    
    
    struct TestClass
    {
      INIT( string, "Ololo" ) lv_String;
      INIT( ABC, 1, 2, 3 ) lv_ABC;
    };

    Оттуда.

    LispGovno, 20 Апреля 2013

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

    +142

    1. 1
    var_dump( ((int) 0 == (string) "test") ); // TRUE

    Бляааа...

    deep, 20 Апреля 2013

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