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

    +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
    /// <summary>
    /// Конвертирование руского текста в английский.
    /// </summary>
    /// <param name="russianText">Русский текст.</param>
    public static string ConvertToEnglish(string russianText)
    {
    	string englishText = russianText.ToLower();
    
    	englishText = englishText.Replace("КПК", "PDA");
    	englishText = englishText.Replace("ПК", "PC");
    	englishText = englishText.Replace("Ач ", "Ah");
    	englishText = englishText.Replace("ПО", "Software");
    	englishText = englishText.Replace("ОС", "OS");
    	.
    	.
    	.
    	//далее еще около 300 подобных замен
    
    	return englishText;
    }

    Изюминка этого говнокода заключается в первой строчке функции.
    Встретил там же где и http://govnokod.ru/6170

    lexx-pnz, 05 Апреля 2011

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

    +117

    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
    52. 52
    int massaotves = 0;
                        var result = db.Vesi500.SingleOrDefault(x => x.Id_vesi500 == 10);
                        massaotves = Convert.ToInt32(result.Value_vesi500);
                        int step500 = 0;
                        //int ost1 = summ500 % massaotves;
                        //if (ost1 == 0)
                        //    step500 = summ500 / massaotves;
                        //else
                        //    step500 = (summ500 / massaotves) + 1;
    
                        int ost1 = summ500 % 450;
                        if (ost1 == 0)
                            step500 = summ500 / 450;
                        else
                            step500 = (summ500 / 450) + 1;
                        #endregion
    
                        #region Отвесы и суммы для 200 весов
                        int massaotves200 = 0;
                        var result1 = db.Vesi200.SingleOrDefault(x => x.Id_vesi200 == 9);
                        massaotves200 = Convert.ToInt32(result1.Value_vesi200);
                        int step200 = 0;
                        //int ost2 = summ200 % massaotves200;
                        //if (ost2 == 0)
                        //    step200 = summ200 / massaotves200;
                        //else
                        //    step200 = (summ200 / massaotves200) + 1;
                        
                        int ost2 = summ200 % 180;
                        if (ost2 == 0)
                            step200 = summ200 / 180;
                        else
                            step200 = (summ200 / 180) + 1;
                        #endregion                   
    
    
                        int itog = 0;
                        //if (step200 > step500)
                        //    itog = step200;
                        //else
                        //    itog = step500;
    
                        int test = (summ200 + summ500) / massaotves200;
                        if (test >= step500 && test >= step200)
                            itog = test;
                        else if (step200 > step500)
                            itog = step200;
                        else   
                            itog = step500;
    
                        textBox3.Text = Convert.ToString(itog);
                        vsegootvesov = itog;

    Выполняет расчет необходимых показателей, для запуска технологического процесса

    fxlancer, 05 Апреля 2011

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

    +119

    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
    string[] otgruzka = new string[11] { "Отгрузка компонент 1 Вес 5дк-500", "Отгрузка компонент 2 Вес 5дк-500", "Отгрузка компонент 3 Вес 5дк-500", "Отгрузка компонент 4 Вес 5дк-500", "Отгрузка компонент 5 Вес 5дк-500", "Отгрузка компонент 6 Вес 5дк-500", "Отгрузка компонент 1 Вес 5дк-200", "Отгрузка компонент 2 Вес 5дк-200", "Отгрузка компонент 3 Вес 5дк-200", "Отгрузка компонент 4 Вес 5дк-200", "Отгрузка компонент 5 Вес 5дк-200", };
                        string[] silos = new string[11] { "Силос 1", "Силос 5", "Силос 6", "Силос 7", "Силос 8", "Силос 31-H", "Силос 9", "Силос 11", "Силос 2", "Силос 3", "Силос 4" };
                                           
                        for (int i = 0; i < dataGridView1.RowCount; i++)
                        {
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 1")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[0]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 5")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[1]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 6")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[2]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 7")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[3]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 8")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[4]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 31-H")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[5]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 9")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[6]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 11")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[7]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 2")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[8]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 3")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[9]);
                            if (Convert.ToString(dataGridView1.Rows[i].Cells[5].Value) == "Силос 4")
                                dataGridView1.Rows[i].Cells[3].Value = modbus_master.GetValue(otgruzka[10]);
                        }                    
                        textBox12.Text = Convert.ToString(modbus_master.GetValue("Текущий отвес 5дк-200") + 1);
    
                        if (modbus_master.GetValue("Текущий отвес 5дк-200") > WorkWithArchive.currentOtves200)
                        {
                            WorkWithArchive.WriteArchiveOtves200(modbus_master.GetValue("Текущий отвес 5дк-200"));
                            WorkWithArchive.currentOtves200 = modbus_master.GetValue("Текущий отвес 5дк-200");
                            WorkWithArchive.WriteArchiveKomponent200(dataGridView1);
                            WorkWithArchive.ot200 = true;
                        }

    Программа управления на производстве, взаимодействует с контроллером, получает кучу данных и такую же кучу отправляет.

    fxlancer, 05 Апреля 2011

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

    +980

    1. 1
    2. 2
    3. 3
    4. 4
    if (ch=='k' && ch!='t')
    {
         something
    }

    Найдено в довольно серьезном проекте.

    timurets, 05 Апреля 2011

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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    public string Name
            {
                get { return name; }
                set
                {
                    name = "";
                    foreach (var el in value.Take(MaxStringLength))
                        name += el;
                }
            }

    тут всего хватает но сама валидация самая забавная=)

    powerslave, 03 Апреля 2011

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

    +118

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(false && TouchManager.touchCount != 0)
    		{
    			TouchPhaseEnum phase;
    			TouchManager.GetTouchPhase(0, out phase);
    			if(TouchManager.touchCount >= 2)
    			{
    				...
    				return;
    			}
    		}
    	}

    Прогнал проект парсером говонокода, нашел такую конструкцию.

    semens, 02 Апреля 2011

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

    +111

    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
    public List<Zone> IncludedZones {
    	get {
    		var result = new List<Zone>();
    		if (CarreerToHeap.Career.Name != null)
    			result.Add(CarreerToHeap.Career);
    		if (CarreerToHeap.UnLoading.Name != null)
    			result.Add(CarreerToHeap.UnLoading);
    
    		if (CarreerToBank.Career.Name != null)
    			result.Add(CarreerToBank.Career);
    		if (CarreerToBank.UnLoading.Name != null)
    			result.Add(CarreerToBank.UnLoading);
    
    		if (RT3110ToHeap.Career.Name != null)
    			result.Add(RT3110ToHeap.Career);
    		if (RT3110ToHeap.UnLoading.Name != null)
    			result.Add(RT3110ToHeap.UnLoading);
    
    		if (RT3110ToBank.Career.Name != null)
    			result.Add(RT3110ToBank.Career);
    		if (RT3110ToBank.UnLoading.Name != null)
    			result.Add(RT3110ToBank.UnLoading);
    
    		if (WestSubZoneToHeap.Career.Name != null)
    			result.Add(WestSubZoneToHeap.Career);
    		if (WestSubZoneToHeap.UnLoading.Name != null)
    			result.Add(WestSubZoneToHeap.UnLoading);
    
    		if (WestSubZoneToBank.Career.Name != null)
    			result.Add(WestSubZoneToBank.Career);
    		if (WestSubZoneToBank.UnLoading.Name != null)
    			result.Add(WestSubZoneToBank.UnLoading);
    
    		if (RemZone.Name != null)
    			result.Add(RemZone);
    		if (ParkingZone.Name != null)
    			result.Add(ParkingZone);
    		return result;
    	}
    }

    Охрененное свойство

    Guid, 01 Апреля 2011

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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    if (NewsId == 0)
        categoriesList.Get();
    else
        categoriesList.Get();

    Встретил при модернизации одного веб ресурса с посещаемостью около 10 тыс.пользователей в сутки

    lexx-pnz, 31 Марта 2011

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

    +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
    /// <summary> 
    /// Сохраняет элементы справочника
    /// </summary>
    public IEnumerable SaveBookElements(IList elements) {
    	IList result = null;
    
    	try {
    		if (elements != null && elements.Count > 0) {
    			if (elements.GetType().GetGenericArguments().Length == 1 && elements[0].GetType() != elements.GetType().GetGenericArguments()[0]) {
    				var mi = typeof(BooksWorker).GetMethod("SaveTypedBookElements", BindingFlags.NonPublic | BindingFlags.Instance)
    					.MakeGenericMethod(new[] { elements[0].GetType() });
    
    				var casted = (IList)Activator.CreateInstance(typeof(List<>).MakeGenericType(new[] { elements[0].GetType() }));
    
    				foreach (var t in elements) {
    					casted.Add(t);
    				}
    
    				result = mi.Invoke(this, new object[] { casted }) as IList;
    			}
    		}
    	}
    	catch (Exception ex) {
    		throw new ApplicationException("Ошибка!", ex);
    	}
    
    	return result;
    }

    Автор проникся рефлексией :-!

    Guid, 31 Марта 2011

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

    +111

    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
    public const string Message = "messagebox";
                public const string Message_Error = "messagebox.error";
                public const string Message_Question = "messagebox.question";
    
            public void ProcessUrl(string url, object urlContext, EventHandler<ProcessUrlArgs> callback)
            {
                switch (url)
                {
                    case Url.Message:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Error:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OK,
                                                             MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
                        callback(this, urlArgs);
                        return;
                    case Url.Message_Question:
                        urlArgs.Result = XtraMessageBox.Show((string) urlContext, captionText, MessageBoxButtons.OKCancel,
                                                             MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                        callback(this, urlArgs);
                        return;
                }
     
         // дальше идет уже ручная разборка Url

    Человек изобрел своего диспетчера контролов внутри формы. Вместо специфических методов вызывающий формирует строку вида
    "command.subcommand.parameter1.parameter 2", передается диспетчеру а он уже парсит это обратно.
    К примеру "prefix.persons.view.23.all" означает что нужно создать юзер контрол PersonDetail для персоны с id 23 и показать все опции. Но можно передать и "message" тогда покажется messagebox. Все это происходит внутри одного UI модуля, и все классы internal. более того, этих usercontrols всего 4 разных и все это говно можно заменить на 4 метода с парой параметров в каждом. Но там было бы слишком просто и легко отслеживать что откуда вызывается. А в случае единственного метода ProcessUrl (который не url :) ) все гораздо веселее.

    eval_2009, 30 Марта 2011

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