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

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

    +86

    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
    function RealToStr(X: Real; Count: Integer): String;//Count - количество цифр после запятой
    var S: String;
        N: Integer;
    begin
      S:=FloatToStr(X); //после запятой - длинная последовательность цифр
    //DecimalSeparator - константа, содержащая истинный разделитель целой и дробной частей числа
     N:=Pos(DecimalSeparator, S); //позиция запятой в строке
    //вычисляем длину строки с нужным количеством знаков после запятой:
      if N=0//если в строке нет запятой - это целое число, и
        then N:=Length(S)//тогда просто выводим это число
        else N:=N+Count;//иначе вычисляем длину строки
      Result:=Copy(S, 1, N);//копируем часть строки в результат
    end;

    Говно на говне сидит и говном погоняет.
    http://www.delphi-manual.ru/work-with-strings.php

    gost, 23 Марта 2014

    Комментарии (13)
  3. 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)
  4. 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)
  5. 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)
  6. Куча / Говнокод #14527

    +128

    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
    mixin template GenerateAutoDispose()
    {
        void dispose()
        {
            foreach_reverse(i,t;this.tupleof)
            {
                static if(staticIndexOf!(auto_dispose,__traits(getAttributes, this.tupleof[i])) != -1)
                {
                    static if(isArray!(typeof(t)))
                    {
                        foreach(t1;t)
                        {
                            if(t1 !is null)
                            {
                                t1.dispose();
                            }
                        }
                    }
                    else
                    {
                        if(t !is null)
                        {
                            t.dispose();
                        }
                    }
                }
            }
        }
    }

    http://pastebin.com/2x2k7ngR

    LispGovno, 08 Февраля 2014

    Комментарии (13)
  7. 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)
  8. 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)
  9. 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)
  10. C++ / Говнокод #14395

    +10

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

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

    LispGovno, 22 Января 2014

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