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

    +127

    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
    class TStopThreadWaiter
    	{
    		public static void Wait(Thread threadWaitededForStop)
    		{
    			var threadName = threadWaitededForStop.GetType().Name;
    			if (!threadWaitededForStop.Join(1000))
    			{
    				TErrorShower.ShowOnceIfAgree("Неудаёться остановить " + threadName + " поток. Будут предприняты попытки внештатной остановки.");
    				if (!threadWaitededForStop.Join(200))
    					threadWaitededForStop.Interrupt();
    				if (!threadWaitededForStop.Join(200))
    				{
    					TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Interrupt. Предпринимаю попытку принудительной остановки через Abort.");
    					threadWaitededForStop.Abort();
    					if (!threadWaitededForStop.Join(200))
    					{
    						TErrorShower.ShowOnceIfAgree(threadName + " поток не удалость остановить принудительно через Abort. Завершаем приложение.");
    						Application.Exit();
    					}
    				};
    			};
    		}
    	}

    Говногость, 03 Февраля 2011

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    while (f != null && !string.IsNullOrEmpty(f.FileName) && f.ContentLength != 0)
    {
       if (f != null && !string.IsNullOrEmpty(f.FileName) && f.ContentLength != 0)
       {
          // ...
       }
    }

    Проверка на всякий случай

    ReallyBugMeNot, 02 Февраля 2011

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

    +128

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    //Hint: We have added one more overload to the method Load/LoadBinary/LoadSoap to achieve your requirement. Please refer the below code snippet.
    
    Exception ex = null;
    diagram1.LoadBinary(@"..\\..\\Basic Shapes.edp",out ex);
    if (ex != null)
    {
    //Do your customization here
    }

    индусский обработчик исключений.
    поддержка исключений в их компонент была добавлена по нашей просьбе.

    kjuby2, 01 Февраля 2011

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

    +121

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    public static T FirstOrDefault<T>(IEnumerable<T> it)
    {
       foreach (T v in it)
         return v;
       return default(T);
    }

    Самодельный FirstOrDefault.

    Боюсь даже представить, как у автора будет выглядеть Single

    bober_maniac, 31 Января 2011

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

    +118

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    public static void Clear(string[] array)
            {
                int n = default(int);
                Array.ForEach(array, element => array[n++] = String.Empty);
            }

    Смешались в кучу кони, люди...

    bober_maniac, 31 Января 2011

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

    +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
    public SqlTransaction GetSqlTransaction(string pMd5)
    {
    	if (_connection.State == ConnectionState.Closed)
    	{
    		try
    		{
    			_connection.Open();
    		}
    		catch (SqlException ex)
    		{
    			throw new ApplicationException("Unable to connect to database (" + _connection.DataSource + "/" + _connection.Database + "). Please contact your local IT administrator.", ex);
    		}
    	}
    	else
    	{
    		try
    		{
    			throw new ApplicationException("COUCOU");
    		}
    		catch (ApplicationException ex)
    		{
    			System.Diagnostics.Trace.WriteLine(ex.StackTrace);
    		}
    		sqlTransaction = _connection.BeginTransaction();
    	}
    	return sqlTransaction;
    }

    Код из очередного проекта. А надежда то на коннект все-равно остается! :)

    _Ru55_, 31 Января 2011

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    if (!'8'=='=')
    {
          //код
    }

    kasthack, 29 Января 2011

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

    +146

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    //Мега-изобретательный, сцуко, флаг!
    public static bool DONT_UPDATE_INPUTMANAGER = FACEPALM;
    
    ...
    
    //Флаг выпилил, быстра блджад!!1
     if (DONT_UPDATE_INPUTMANAGER) DONT_UPDATE_INPUTMANAGER = false;

    Достаточно недавний мой высер, сделанный на обезумевшую от непоняток голову. Трабла была в том, что при перехода из одного в меню в другое второе меню так же воспринимало эту кнопку и шагало дальше, хотя цикл вроде прошёл и InputManager уже сбросился. Пришлось сделать вот таким вот флагом (правда до сих пор не могу понять КАК я умудрился такой if написать...).

    P.S: Похожая фигня и у MS, см. CurveEditor (create.msdn.com -> education catalog -> tools -> CurveEditor -> переменная disableUIEvents (причём int!!!)).

    RaZeR, 29 Января 2011

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

    +116

    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
    50. 50
    51. 51
    var sEmailRecipient = string.Empty;
    
                        string m_sPhysicalPath = "";
                        if (SaveType == "both" || SaveType == "email")
                        {
                            
                            List<User> recipients = null;
                            if (RecipentSelectMode == "auto")
                            {
                                if (!string.IsNullOrEmpty(AutoRecipient))
                                    recipients = Notification.ConvertToUsers(AutoRecipient, MethodologyId, CurrentObjectId, CurrentUserId, CurrentEntityName);
                            }
                            if(RecipentSelectMode == "manual"){
                                if (Recipient != null)
                                    sEmailRecipient = EvaluateExpression(CurrentUserId, MethodologyId, MainEntityName, MainObjectId, Recipient);
                            }
                            
                             m_sPhysicalPath = Document.AbsoluteApplicationPath + "/" + p_sReportPath.Substring(p_sReportPath.LastIndexOf("storage"));
    
                             if (RecipentSelectMode == "auto")
                             {
                                 foreach (User user in recipients)
                                 {
                                     if (Regex.IsMatch(user.Email, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                     {
                                         SendReportByEmail(m_sPhysicalPath, user);
                                     }
                                 }
                             }
                             if (RecipentSelectMode == "manual")
                             {
                                 if (Regex.IsMatch(Recipient, @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", RegexOptions.None))
                                 {
                                     SendReportByEmail(m_sPhysicalPath, new User { Email = sEmailRecipient });
    
                                 }
                                 else
                                 {
                                     return CreateResult(GetClientData(), "Email message sending failed - incorrect email address - " + Recipient, (int)ReportRenderingFailType.Success);
    
                                 }
                        
                             }
    
                        }
                        if (SaveType == "email")
                        {
                            FileInfo file = new FileInfo(m_sPhysicalPath);
                            if (file.Exists)
                                file.Delete();
                        }

    Отправляет отчет по email

    PetrLyapin, 27 Января 2011

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

    +130

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    private int FindIndexOfItemWithValue(object value)
    {
        for (int i = 0; i < base.Items.Count; i++)
        {
            object item = base.Items[i];
            if (InternalUtils.AreValuesEqual(this.SelectedValue, this.GetSelectedValue(item)))
            {
                return i;
            }
        }
        return -1;
    }

    Код комбобокса из System.Windows, Version=2.0.5.0 (Silverlight). Где тут ищется value - загадка природы.

    Unseen, 27 Января 2011

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