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

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $(function () {
    		var objects = [
    		@foreach (var item in Model.PlannedObjectSet)
      {
    			<text>{ Address: '@item.Address', Name: '@item.Name', Id: @item.Id, date: '@item.PlannedStartDate', type: @item.ObjectType, Coords: @(item.Coords ?? "null") }@(item == Model.PlannedObjectSet.Last() ? "" : ",")</text>
      }
    		];
    		$('#map').tenderMap({mode:'p', zoom:10, center:[55.83, 37.58]});
    		$('#map').tenderMap('showData', objects);
    	});

    Вот такая вот сериализация в JSON встретилась мне сегодня в коде Razor view

    xumix, 14 Декабря 2013

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

    +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
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    string str = Console.ReadLine();
    int k = str.length; int n = 0;
    
    for (int i = 0; i< k; i=i+1)
    {
    	if (str[i] == ' ')
    		n = n + 1;
    }
    
    string[] arr = new string[n+1]();
    
    for (int i = 0;i<n+1;i=i+1)
    {
    	arr[i]='';
    }
    for (int i = 0;i<n+1;i=i+1)
    {
    	int a = str.IndexOf(' ');
    	string b = str.Substring(0,a);
    	arr[i] = b;
    	if (i != n)
    		str = str.Remove(0,a+1);
    	else
    		str = str.Remove(0,a);
    }
    
    for (int i = 0;i<n+1;i=i+1)
    {
    	str = str + arr[i] + ' ';
    }
    str = str.Remove(k-2,1);

    Православная функция Split() по пробелу:
    1. Объявляем необходимые переменные;
    2. Считаем количество пробелов;
    3. Заполняем массив пустыми строками (ВАЖНО!!!);
    4. Ищем в исходной строке пробелы, записываем в массив подстроку, удалям подстроку с пробелом из исходной строки;
    5. Восстанавливаем исходную строку по эелементам массива (ВАЖНО!!!).

    NitrOxygeN, 05 Декабря 2013

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

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public Normalizer(Int32 totalElementsCount)
    {
        _totalElementsCount = totalElementsCount;
        _delta = Int32.MaxValue / (2 * totalElementsCount);
        if (_delta == 0)
            throw new OverflowException("Too much normalizated records.");
    }

    Осталось от старых разработчиков. Долго не могли понять, почему кидается DivideByZeroException

    botinko, 05 Декабря 2013

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

    +129

    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
    [Serializable]
     private class NameValue<N, V>
     {
          public N Name { get; set; }
          public V Value { get; set; }
          public NameValue() { }
          public NameValue(N name, V value)
          {
              Name = name;
              Value = value;
          }
     }
    
     private System.Collections.Generic.List<NameValue<string, string>> productList =
                new System.Collections.Generic.List<NameValue<string, string>>();

    не шутка

    taburetka, 02 Декабря 2013

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

    +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
    catch(Exception ex)
    {
        try
        {
            insertAction(TXTextControl.StringStreamType.PlainText);
            GcmExceptionHandlerForm.ShowException(ex);
        }
        catch (Exception ex2)
        {
                GcmExceptionHandlerForm.ShowException(ex2);
        }
    }

    Что-то пошло не так...

    minuzZ, 29 Ноября 2013

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

    +143

    1. 1
    2. 2
    3. 3
    4. 4
    double numberOfDays = (eventWrite.EndDate - eventWrite.StartDate).Days;
    int numberOfSteps = (int)numberOfDays / 365;
    if (numberOfDays / 365 % 4.0027397260273974 == 0)
                numberOfSteps++;

    Сколько раз повторится ежегодное событие с учётом високосного года

    SUDALV, 26 Ноября 2013

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

    +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
    public bool SqlTest(string sql)
            {
                try
                {
                    if (Utils.ExecuteScalar(sql).ToString() != "8") throw new Exception("Bad result from DB!");
                }
                catch (Exception ex)
                {
                    LogService.WriteStd("CheckDBRun1: " + sql, ex);
                    Utils.SQLServerRun();
                    try
                    {
                        if (Utils.ExecuteScalar(sql).ToString() != "8") throw new Exception("Bad result from DB!");
                    }
                    catch (Exception ex2)
                    {
                        LogService.WriteStd("CheckDBRun2: " + sql, ex2);
                        return false;
                    }
                }
                return true;
            }

    taburetka, 26 Ноября 2013

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

    +130

    1. 1
    List<KeyValuePair<string, string>> documentList = GetList();

    использование списка пар ключ-значение вместо словаря (Dictionary<string, string>)

    mozg_raka, 22 Ноября 2013

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

    +131

    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
    private static int GetCarMaxRoomNumberNominal(string trainName, TrainCar car)
            {
                if (!String.IsNullOrEmpty(trainName))
                {
                    trainName = trainName.ToUpper();
                    if (trainName.StartsWith("САПСАН"))
                    {
                        return 66;
                    }
                    else if (trainName.StartsWith("ЛАСТОЧКА"))
                    {
                        return 103;
                    }
                    else if (trainName.StartsWith("АЛЛЕГРО"))
                    {
                        return 72;
                    }
                }
    
                switch (car.Category)
                {
                    case TrainCarCategory.ReservedSeat:
                    case TrainCarCategory.Common:
                        return 54;
                    case TrainCarCategory.Compartment:
                        return car.TwoStorey ? 112 : 36;
                    case TrainCarCategory.Lux:
                    case TrainCarCategory.Soft:
                        return car.TwoStorey ? 96 : 18;
                    case TrainCarCategory.Sedentary:
                        if (car.ServiceClass.Contains("1С"))
                        {
                            return 42;
                        }
                        else if (car.ServiceClass.Contains("2С"))
                        {
                            return 80;
                        }
                        if (car.ServiceClass.Contains("3С"))
                        {
                            return 117;
                        }
                        return 1;
                    default:
                        return 1;
                }
            }

    Расчет количества мест в вагоне

    Shadeglare, 10 Ноября 2013

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