1. C# / Говнокод #13442

    +125

    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
    var colorInfoList = new List<ColorInfo>()
                    {
                        new ColorInfo("#000000", "	black", "	Черный"),
                        new ColorInfo("#000080","	navy","	Темно-синий"),
                        new ColorInfo("#00008B","	darkblue","	Темно-голубой"),
                        new ColorInfo("#0000CD","	mediumblue","	Умеренно-голубой"),
                        new ColorInfo("#0000FF","	blue	","Голубой"),
                        new ColorInfo("#006400","	darkgreen","	Темно-зеленый"),
                        new ColorInfo("#008000","	green","	Зеленый"),
                        new ColorInfo("#008080","	teal","	Чайный"),
                        new ColorInfo("#008B8B","	darkcyan","	Темный циан"),
                        new ColorInfo("#00BFFF","	deepskyblue","	Темный небесно-синий"),
                        new ColorInfo("#00CED1","darkturquoise	","Темно-бирюзовый"),
                        new ColorInfo("#00FA9A","	mediumspringgreen","	Умеренный синевато-серый"),
                        new ColorInfo("#00FF00","	lime","	Известковый"),
                        new ColorInfo("#00FFFF","	aqua","	Синий"),
                        new ColorInfo("#2E8B57","	seagreen","	Морской волны"),
                        new ColorInfo("#32CD32","	limegreen","	Зеленовато-известковый"),
                        new ColorInfo("#4B0082","	indigo","	Индиго"),
                        new ColorInfo("#696969","	dimgray","	Тускло-серый"),
                        new ColorInfo("#7CFC00","	lawngreen","	Зеленой травы"),    
                        new ColorInfo("#7FFFD4","	aquamarine","	Аквамарин"),
                        new ColorInfo("#800000","	maroon","	Оранжево-розовый"),
                        new ColorInfo("#808080"," 	gray","	Серый"),
                        new ColorInfo("#8B0000","	darkred","	Темно-красный"),
                        new ColorInfo("#9ACD32","	yellowgreen","	Желто-зеленый"),
                        new ColorInfo("#A52A2A","	brown","	Коричневый")
                    };
    
    
            public ColorInfo ColorCheck(List<ColorInfo> list, string colorHex)
            {
                for (int i = 0; i < list.Count-1; i++)
                {
                    if (String.Compare(list[i].HexInfo, colorHex, StringComparison.Ordinal) <= 0 && String.Compare(list[i + 1].HexInfo, colorHex, StringComparison.Ordinal)>=0)
                        return list[i+1];
                }
                return new ColorInfo();
            }

    Определение названия цвета

    iofjuupasli, 17 Июля 2013

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

    +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
    /// Разрезать строку на части длиной не более maxRecordLen
      private static void splitText(ref List<string> splitTextArray,  string text) {
        splitTextArray = new List<string>();
        for (; ; ) {
          try {
            string str = text.Substring(0, maxRecordLen);
            splitTextArray.Add(str);
            try {
              text = text.Substring(maxRecordLen);
            }
            catch (Exception) {
              break;
            }
          }
          catch (Exception) {
            splitTextArray.Add(text);
            break;
          }
        }
      }

    no comment.

    diimdeep , 17 Июля 2013

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

    +129

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public class DataLayer
    {
    ...
    public List<Employee> GetEmployees() { ... }
    public List<Department> GetDepartments() {...}
    public List<Roles> GetRoles() {...}
    }

    Обратил внимание, что некоторые коллеги любят использовать в качестве возвращаемых типов не обычные массивы, а обязательно List<T>.
    Долго гадал, что-ж такая за практика интерсная, на стеке прям несколько вопросов подрял.
    Затем, обратил внимание, что все они используют в качестве основного инструмента паттерн MVC.
    Проштудировав самые известные книжки по MVC, таки нашёл виновника:
    http://www.ozon.ru/context/detail/id/19064535/ - Программирование на основе Microsoft ASP.NET MVC (Дино Эспозито)
    Везде где только можно, всё просто обделано LIst'ами. Даже данные передаваемые во View...

    TauSigma, 15 Июля 2013

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

    +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
    switch (curWpn)
    {
        case WeaponType.Doublegun: DrawNumber(doublegunAmmo, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, doublegunAmmo > 0 ? Color.White : Color.Red); spriteBatch.Draw(doublegunI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), Color.White); break;
        case WeaponType.Grenade: DrawNumber(grenadeCnt, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, grenadeCnt > 0 ? Color.White : Color.Red); spriteBatch.Draw(grenadeI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), grenadeTimeout > 0.0f ? Color.Red : Color.White); break;
        case WeaponType.Knife: spriteBatch.Draw(knifeI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), Color.White); break;
        case WeaponType.Launcher: DrawNumber(rocketCnt, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, rocketCnt > 0 ? Color.White : Color.Red); spriteBatch.Draw(launcherI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), launchTimeout > 0.0f ? Color.Red : Color.White); break;
        case WeaponType.Revolver: spriteBatch.Draw(revolverI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), Color.White); break;
        case WeaponType.Cannon: DrawNumber(cannonAmmo, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, cannonAmmo > 0 ? Color.White : Color.Red); spriteBatch.Draw(cannonI, new Microsoft.Xna.Framework.Rectangle(graphics.PreferredBackBufferWidth - 64, graphics.PreferredBackBufferHeight - 64, 64, 64), cannonTimeout > 0.0f ? Color.Red : Color.White); break;
        case WeaponType.Laser: DrawNumber(laserAmmoCnt, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, laserAmmoCnt > 0 ? Color.White : Color.Red); break;
        case WeaponType.Minigun: DrawNumber(minigunAmmoCnt, new Vector2(graphics.PreferredBackBufferWidth - 150, graphics.PreferredBackBufferHeight - 54), 1.0f, minigunAmmoCnt > 0 ? Color.White : Color.Red); break;
    }
    //в другом месте
    switch (curWpnIndex)
    {
        case 0: curWpn = WeaponType.Knife; break;
        case 1: curWpn = WeaponType.Revolver; break;
        case 2: curWpn = WeaponType.Doublegun; break;
        case 3: curWpn = WeaponType.Laser; break;
        case 4: curWpn = WeaponType.Minigun; break;
        case 5: curWpn = WeaponType.Rifle; break;
        case 6: curWpn = WeaponType.Grenade; break;
        case 7: curWpn = WeaponType.Launcher; break;
        case 8: curWpn = WeaponType.Cannon; break;
    }

    Это неописуемо. Нашел у себя...
    Видимо, придется снова идти мыться.

    RaZeR, 15 Июля 2013

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public void BuildInsertClause(OleDbCommand cmd, ObjectState objState)
            {
                  StringBuilder builder = new StringBuilder();
                  ..........
                  cmd.CommandText = builder.ToString() + "(" + columns.ToString() + ") VALUES (" +
                  values.ToString() + ")";
            }

    http://solidcoding.blogspot.ru/2008/01/linq-to-excel-provider-25.html
    Еще много смешного, для затравки:

    object val = reader[col.GetSelectColumn()];
    if (val is DBNull)
    {
    val = null;
    }

    neeedle, 15 Июля 2013

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

    +135

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    Byte[] content = setting.RecipientType == ReportRecipientType.A?
                            Processor.Process(Encoding.ASCII.GetBytes(report.Value),"A",String.Empty) :
                            setting.RecipientType == ReportRecipientType.B || setting.RecipientType == ReportRecipientType.BX?
                            Processor.Process (Encoding.ASCII.GetBytes(report.Value), "B", String.Empty) :
                             setting.RecipientType == ReportRecipientType.C?
                             Processor.Process (Encoding.UTF8.GetBytes(report.Value), "C", String.Empty) :
                             setting.RecipientType == ReportRecipientType.D?
                             Processor.Process (Encoding.UTF8.GetBytes(report.Value), "D", String.Empty) :
                            Processor.Process (Encoding.UTF8.GetBytes(report.Value), filename, DateTime.Now, setting.data);

    Имена переменных и методов обфусцированы, но суть не в них.
    Какой сумрачный гений родил такую управляющую структуру?

    startrack, 11 Июля 2013

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

    +134

    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
    public static int fullBendList(out List<MnOneBend> bendList, double angle, int angType, double diameter) {
          bendList = new List<MnOneBend>(); if (bendList == null) return Utils.ecError;
          List<double> angArray = new List<double>(); if (angArray == null) return Utils.ecError;
          if (angType < 1 || angType > 3 || angle < 0) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
          MnBendHard bend = (MnBendHard)MnBend.createBend(angType); if (bend == null) return Utils.ecError;
          MnBend.getBendAngleList(ref angArray, diameter, angType);
          for (int i = 0; i < angArray.Count; i++) {
            double ang = Math.Abs(angArray[i]) * Utils.PI / 180; if (ang > angle + Utils.EPS) continue;
            List<MnOneBend> oneBendList = new List<MnOneBend>(); if (oneBendList == null) return Utils.ecError;
            if (bend.oneBendAngArray(ref oneBendList, ang, diameter) != Utils.ecNorm) return Utils.ecError;
            if (oneBendList.Count != 1) { Utils.ErrorMessage("FULLBENDLIST"); return Utils.ecError; }
            bendList.Add(oneBendList[0]);
          }
          return Utils.ecNorm;
        }

    Сохранено оригинальное форматирование, так как это неотъемлемый элемент данного произведения. Utils.PI - настоящий правильный ! Exception ? - Не, не слышал. П.С. Автор отказывает устонавливать ReSharper. Как вылечить пациента ?

    diimdeep , 11 Июля 2013

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

    +129

    1. 1
    2. 2
    [ThreadStatic]
    private static SqlConnection _connection;

    Всё самое худшее, что только можно додумать к этим двум строчкам, в наличии.

    dormendo, 11 Июля 2013

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

    +132

    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
    46. 46
    47. 47
    48. 48
    49. 49
    /// <summary>
            ///  Десериализация класса грунтов
            /// </summary>
            public static SGGlist DeserializeSgg(XmlDocument doc)
            {
                string dir = System.IO.Path.GetTempPath();
    
                try
                {
                    doc.Save(dir + "_sgg.xml");
                }
                catch (Exception exc)
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка сброса XML-документа в файл");
                    return null;
                }
    
                SGGlist sggList = new SGGlist();
    
                FileStream fs;
                try
                {
                    fs = new FileStream(dir + "_sgg.xml", FileMode.Open);                                          // инициализация объекта класса чтения файла
                }
                catch (Exception exc)
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка чтения XML-файла");
                    return null;
                }
    
                XmlSerializer r_serializer = new XmlSerializer(typeof(SGGlist));                                // инициализация объекта класса десериализации 
                r_serializer.UnknownNode += new XmlNodeEventHandler(r_serializer_UnknownNode);                  // подключение события обнаружения неизвестного узла 
                r_serializer.UnknownAttribute += new XmlAttributeEventHandler(r_serializer_UnknownAttribute);   // подключение события обнаружения неизвестного атрибута
    
                try
                {
                    sggList = (SGGlist)r_serializer.Deserialize(fs);                                            // Десериализация в класс приема данных
                }
                catch (Exception exc)                                                                                           // Исключение при десериализации
                {
                    Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Рассогласование классов");
                    fs.Close();
                    return null;
                }
    
                fs.Close();
    
                return sggList;
            }

    diimdeep , 10 Июля 2013

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

    +121

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    private static bool ProductGT10(Point p)
        {
            if (p.X * p.Y > 100000)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

    Классический пример из MSDN
    http://msdn.microsoft.com/ru-ru/library/bfcke1bz.aspx

    kegdan, 10 Июля 2013

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