1. 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)
  2. C# / Говнокод #13361

    +129

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

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

    dormendo, 11 Июля 2013

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

    +134

    1. 1
    Console.WriteLine("Ставь лайк если любиш сваю маму");

    Вот ето я хитро зделал никто ни паставит дизлайк азаззахзщшщхзашщвщаа)))0)0

    PragramistOtBoga, 09 Июля 2013

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

    +135

    1. 1
    2. 2
    Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
    Минуисуя участников, ты помогаешш обществу снижать ЧСВ.

    Участник, прошу тебя: не поленись, пройди по анкетам и поставь всем минусы.
    Минуисуя участников, ты помогаешш обществу снижать ЧСВ.

    Stertor, 09 Июля 2013

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

    +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
    static readonly Regex binary = new Regex("^[01]{1,32}$", RegexOptions.Compiled);
    static void Main() {
        Test("");
        Test("01101");
        Test("123");
        Test("0110101101010110101010101010001010100011010100101010");
    }
    static void Test(string s) {
        if (binary.IsMatch(s)) {
            Console.WriteLine(Convert.ToInt32(s, 2));
        } else {
            Console.WriteLine("invalid: " + s);
        }
    }

    http://stackoverflow.com/questions/1271562/binary-string-to-integer
    Мучает вопрос. Зачем ставить регулярку? Почему бы просто не словить FormatExeption?

    neeedle, 09 Июля 2013

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

    +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
    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
    using System;
    using System.Security.Cryptography;
    
    namespace sha1_calc
    {
        class Program
        {
            static void Main(string[] args)
            {
                SHA1 sha = new SHA1CryptoServiceProvider();
                foreach (var fname in args)
                {
                    Console.WriteLine("file: " + fname);
                    try
                    {
                        System.IO.FileStream fs = System.IO.File.Create(fname);
                        byte [] res = sha.ComputeHash(fs);
                        fs.Close();
                        Console.Write("0x");
                        foreach (var i in res)
                        {
                            Console.Write(i.ToString("X"));
                        }
                        Console.WriteLine();
                        Console.WriteLine("---------------------------------");
                    }
                    catch(Exception e)
                    {
                        Console.WriteLine("error: " + e);
                    }
                }
                Console.ReadKey();
            }
        }
    }

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

    Xom94ok, 05 Июля 2013

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

    +137

    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
    // "Красная Шапочка, ты снова - девочка. Тимур и его команда" :-)
    
    // Почему-то в случае типа picture сюда передавалось вместо GUID-а заглушки такая вот строковая константа
    // так как надо было срочно делать, было сделано так. Потом было исправлено, но удалять эту строчку страшно.
    // Вдруг ещё работать перестанет.
    
    // TODO: Исключить из backup коллекцию colAbbreviation
    // Все объекты в ней бэкапятся внутри DataDeduplication.SaveAbbreviation
    // Или не надо? Лучше синица в руках, чем утка под кроватью... :-)
    // Ну-ка, ну-ка... Может, она раньше выполнялась, и об этом что-то известно?
    
    // Вызываем клиента в другом потоке, иначе - фигня-с...
    
    // Кажется "добрые люди" уже удалили этот классификатор...
    
    // Начать их переделывать - рухнет что-нить в другом месте, 
    // а низзя - скоро нужна рабочая версия... :-)
    
    // Таким вот финтом ушами(из-за бага) заставляем перейти фокус на последнюю строку :-)
    
    // к сожалению - Z-Order окон из WinForms недоступен - придется запоминать только активное окно
    //(можно конечно было прикрутиться к WinAPI - но не кошерно это :-) )
    
    // God mode :-)
    
    // Пытаемся получить "человеческий" sid для ADObject
    
    // Спасибо дата-провайдеру Oracle за счастливое детство и невозможность попользоваться
    // параметрами при сложном запросе с произвольным размещением параметров в запросе :-(
    
    // нехорошо так делать - но переписывать форму редактирования позиции пока не будем -
    // может что нибудь отъехать перед сдачей :-(
    
    /// <summary>
    /// Очень грязный хак - для того, чтобы хоть как-то заставить грид отобразить
    ///"+" для строк слева
    /// </summary>
    void DirtyHack()

    Продакшен-код. Комментарии

    dormendo, 05 Июля 2013

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

    +124

    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
    // System.Web.Security.FormsAuthentication
    /// <summary>Returns the redirect URL for the original request that caused the redirect to the login page.</summary>
    /// <returns>A string that contains the redirect URL.</returns>
    /// <param name="userName">The name of the authenticated user. </param>
    /// <param name="createPersistentCookie">This parameter is ignored.</param>
    public static string GetRedirectUrl(string userName, bool createPersistentCookie)
    {
    	if (userName == null)
    	{
    		return null;
    	}
    	return FormsAuthentication.GetReturnUrl(true);
    }

    http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication. getredirecturl.aspx
    Разработчики ASP.NET'а опять доставляют... И не лень было столько параметров делать, а потом ещё и описывать...

    TauSigma, 04 Июля 2013

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