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

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

    +15

    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
    // file: Filter.h
    
            inline const CString GetField() const
            {
                if (m_strField.compare(MBL_FT_AUTHID_STRING) == 0)
                {
                    return CString(MBL_FT_AUTHID_SERVER_STRING);
                }
                else if (m_strField.compare(MBL_FT_CORRELATION_ID_STRING) == 0)
                {
                    return CString(MBL_FT_CORRELATION_ID_SERVER_STRING);
                }
                else if (m_strField.compare(MBL_FT_PLAN_STRING) == 0)
                {
                    return CString(MBL_FT_PLAN_SERVER_STRING);
                }
                // ... всего 14 веток в таком духе ...
                else if (m_strField.compare(MBL_FT_DDF_ACCOUNTING_STRING_STRING) == 0)
                {
                    return CString(MBL_FT_DDF_ACCOUNTING_STRING_SERVER_STRING);
                }
                return m_strField;
            }

    Автор — русский.

    Lavir_the_Whiolet, 21 Марта 2014

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

    +133

    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
    try
                {
                    using (var context = new vbEntities())
                    {                   
                        
                        var DBF = new DBF();
                        var dt = DBF.GetAll(@"C:\Users\.........\Documents\BNKSEEK.DBF");
    
                        int i = 0;
                        progressBar1.Maximum = dt.Rows.Count;
    
                        foreach (DataRow dr in dt.Rows)
                        {
                            var row = new Bank();
                            row.BIK = dr["RKC"].ToString();
                            row.CityName = dr["NNP"].ToString();
                            row.Address = dr["ADR"].ToString();
                            row.Name = dr["NAMEP"].ToString();
                            row.KS = dr["KSNP"].ToString();
                            row.Phone = dr["TELEF"].ToString();
                            row.OKPO = dr["OKPO"].ToString();  
                            context.Bank.Add(row);
                            progressBar1.Value = i++;
                        }
                        context.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }

    orozov, 18 Марта 2014

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

    −168

    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
    Если СтрНС <> Неопределено Цикл
    	Если СтрНС.Значение <> Справочники.Номенклатура.ПустаяСсылка() тогда
    		Тост = ОстаткиПоСкладамУпр(СтрНС.Значение);
    		Синхро = Истина;
    		Если Тост[0].Остаток <> 0 тогда
    			НаличиеНаСкладе = Истина;
    		Конецесли;
    	КонецЕсли;	
    КонецЕсли;
    
    //...
    
    Если НаличиеНаСкладе Тогда
    	// другой быдлокод
    КонецЕсли;

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

    rull9ss, 12 Февраля 2014

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

    +162

    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
    foreach ($foo as $key1=>$value) {
        if ($foo[$key1][parent] == 0 ) {
            echo '<li><a href="/index.php?cPath='.$key1.'">'.$foo[$key1][name].'</a>';
            foreach ($foo as $key2=>$value) { if ($foo[$key2][parent] == $key1){echo '<ul>'; break; }};
            foreach ($foo as $key2=>$value) {
                if ($foo[$key2][parent] == $key1) {
                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'">'.$foo[$key2][name].'</a>';
                    foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '<ul>'; break;} };
                    foreach ($foo as $key3=>$value) {
                        if ($foo[$key3][parent] == $key2) {
                            echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'">'.$foo[$key3][name].'</a>';
                            foreach ($foo as $key4=>$value) { if ($foo[$key4][parent] == $key3){echo '<ul>'; break;} };
                            foreach ($foo as $key4=>$value) {
                                if ($foo[$key4][parent] == $key3) {
                                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'">'.$foo[$key4][name].'</a>';
                                    foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '<ul>'; break;} };
                                    foreach ($foo as $key5=>$value) {
                                        if ($foo[$key5][parent] == $key4) {
                                            echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'">'.$foo[$key5][name].'</a>';
                                            foreach ($foo as $key6=>$value) {if ($foo[$key6][parent] == $key5) {echo '<ul>'; break;} };
                                            foreach ($foo as $key6=>$value) {
                                                if ($foo[$key6][parent] == $key5) {
                                                    echo '<li><a href="/index.php?cPath='.$key1.'_'.$key2.'_'.$key3.'_'.$key4.'_'.$key5.'_'.$key6.'">'.$foo[$key6][name].'</a>';
                                                }
                                            }
                                            foreach ($foo as $key6=>$value) { if ($foo[$key6][parent] == $key5){echo '</ul>'; break;} };  
                                            echo '</li>';                                      
                                        }
                                    } 
                                    foreach ($foo as $key5=>$value) { if ($foo[$key5][parent] == $key4){echo '</ul>'; break;} };
                                    echo '</li>';
                                }
                            }
                            foreach ($foo as $key4=>$value) {if ($foo[$key4][parent] == $key3) {echo '</ul>'; break;} };
                            echo '</li>';                          
                        }
                    } 
                    foreach ($foo as $key3=>$value) { if ($foo[$key3][parent] == $key2){echo '</ul>'; break;} }; 
                    echo '</li>';              
                }
            }
            foreach ($foo as $key2=>$value) {if ($foo[$key2][parent] == $key1) {echo '</ul>'; break;} };
            echo '</li>';
        }        
    }

    Правильное понимание рекурсии, привитое картинками вконтакте.

    Dotterian, 28 Января 2014

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    FileInfo[] fi = new DirectoryInfo(di.FullName).GetFiles();
    
    var creationList = from file in fi
                                 where file.CreationTime.CompareTo(new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)) < 0 //This instance is earlier than value. 
                                 group file.CreationTime by DateTime.Parse(file.CreationTime.ToString("yyyy-MM-dd")) into ct
                                 select ct.Key;

    что делает этот код?

    taburetka, 24 Января 2014

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

    +174

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    static String asHex(int i){
    		return
    			Joiner.on( " " ).join(
    				Splitter.fixedLength( 4 ).split(
    					String.format("%s8", Integer.toHexString(i))
    						.replace(' ', '0')
    				)
    			);
    }

    LINQ-мышление в жабе.

    3.14159265, 23 Января 2014

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

    +10

    1. 1
    typedef boost::shared_ptr<LPDIRECT3D9> Direct3dShared;

    Те кто знают, что такое в гейдеве LPDIRECT3D9 и IDirect3D9 - поймут.
    Думаю сегодня даже не нужно писать с какого это сайта.

    LispGovno, 22 Января 2014

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

    +133

    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
    var firstLocation = new Tuple<Point, Point>(new Point(12, 444 - 38), new Point(30, 446 - 38));
    var secondLocation = new Tuple<Point, Point>(new Point(12, 464 - 38), new Point(30, 464 - 38));
    var thirdLocation = new Tuple<Point, Point>(new Point(12, 486 - 38), new Point(30, 484 - 38));
    
    var first = new Tuple<Control, Control>(chbDimaGaugeNewContractPS, lblDimaGaugeNewContractPS);
    var second = new Tuple<Control, Control>(chbDimaGaugeNewContractIBanking, lblDimaGaugeNewContractIBanking);
    var third = new Tuple<Control, Control>(chbDimaGaugeNewContractActivePS, lblDimaGaugeNewContractActivePS);
    
    var controls = new List<Tuple<Control, Control>> { first, second, third };
    var points = new List<Tuple<Point, Point>> { firstLocation, secondLocation, thirdLocation };
    
    int i = 0;
    
    foreach (var t in controls.Where(x => !x.Item1.Enabled))
    {
      t.Item1.Location = points[i].Item1;
      t.Item2.Location = points[i].Item2;
      i++;
    }

    кортежи в .NET - хорошо или плохо?

    taburetka, 06 Декабря 2013

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

    +131

    1. 1
    http://bolknote.ru/files/dogfight/

    Возбуждает

    Stertor, 24 Ноября 2013

    Комментарии (13)
  11. ActionScript / Говнокод #14079

    −152

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    protected function get_resource_getter(xml:XML,name:String):Function {
            try {
                var getter:Function = this["get_"+name+"_xml"] as Function;
    
                return function():int{ return getter(xml)};
            } catch (e:*) {}
            if(xml.attribute(name).length()==0){
                return null;
            }
            return function():int{ return get_resource_xml(xml,name)};
        }

    Задача стояла предельно простая: получить количество некоторого игрового ресурса.
    Автор подошел к решению неординарно.

    strax, 07 Ноября 2013

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