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

    +3

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    public class Man
        {
            public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
            {
                this.Name = name;
                this.Brothers = brothers;
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
            {
                this.Name = name;
                this.Brothers = brothers;
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, year)
            {
                this.Name = name;
                this.Brothers = brothers;
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, string note, IEnumerable<Brother> brothers, Guid id, int year, int age) : base(id, note, year)
            {
                this.Name = name;
                this.Brothers = brothers;
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, Guid id, int year, int age) : base(id, year)
            {
                this.Name = name;
                this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
            {
                this.Name = name;
                this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, Guid id, int year, int age) : base(id, year)
            {
                this.Name = name;
                this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
                this.Id = id;
                this.Age = age;
            }
    
            public Man(string id, string name, string note, Guid id, int year, int age) : base(id, note, year)
            {
                this.Name = name;
                this.Id = id;
                this.Brothers = new List<Brother>() { new Brother(Guid.NewGuid().ToString()) };
                this.Age = age;
            }
    
            public string Name { get; }
    
            public Guid Id { get; }
    
            public IEnumerable<Brother> Brothers { get; }
    
            public int Age { get; }
    
        }

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

    homk, 10 Апреля 2016

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // 1188 references
    internal static string CombinePaths(string firstPath, string secondPath)
    {
        return Path.Combine(firstPath, secondPath);
    }

    - Шо это было?!!
    - Cэкономили точку. 1188 раз )))))

    RadChand, 08 Апреля 2016

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

    +1

    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
    public class FileStorage {
            public FileStorage() {
                try {
                    if (String.IsNullOrEmpty(Common.GlobalVariables.FileStorage)) {
                        throw new Exception(Common.GuiHelper.ShowErrorMessage("FileStorage", String.Empty));
                    }
    
                    if (!Directory.Exists(Common.GlobalVariables.FileStorage)) {
                        DirectoryInfo di = Directory.CreateDirectory(Common.GlobalVariables.FileStorage);
                        if (!di.Exists) {
                            throw new Exception(Common.GuiHelper.ShowErrorMessage("FileStorageDir", String.Empty));
                        }
                    }
                } catch (Exception er) {
                    throw new Exception(er.Message);
                }
            }
    
            public String CreateFileDirectory() {
                try {
                    int iIdx = 0;
                    Boolean bIsCreated = false;
                    while (!bIsCreated && iIdx < 10) {
                        String sDir = Guid.NewGuid().ToString("N").ToLower();
                        sDir = sDir.Substring(0, 2);
                        if (!Directory.Exists(Common.GlobalVariables.FileStorage + sDir + @"\")) {
                            DirectoryInfo di = Directory.CreateDirectory(Common.GlobalVariables.FileStorage + sDir + @"\");
                            if (di.Exists) {
                                return Common.GlobalVariables.FileStorage + sDir + @"\";
                            }
                        }
    
                        iIdx++;
                    }
    
                    return null;
                } catch (Exception er) {
                    throw new Exception(er.Message);
                }
            }
        }

    может я чего не понимаю, но зачем?

    Lokich, 08 Апреля 2016

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

    +2

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    public struct TotalStat
    {
        public int Level { get; set; }
        public int Type { get; set; }
        public string Name { get; set; }
        public string Code { get; set; }
        public int VAL_01_1 { get; set; }
        public int VAL_01_2 { get; set; }
        public int VAL_01_3 { get; set; }
        public int VAL_01_4 { get; set; }
        public int VAL_51_1 { get; set; }
        public int VAL_51_2 { get; set; }
        public int VAL_51_3 { get; set; }
        public int VAL_51_4 { get; set; }
    
        public TotalStat[] Children;
    
    
        public FontWeight FontWeight
        {
            get
            {
                return Type == 2 ? FontWeights.Bold : FontWeights.Normal;
            }
        }
    
        public Thickness Margin
        {
            get
            {
                return new Thickness(this.Level * 10, 0, 0, 0);
            }
        }
    
        public string CNT_01
        {
            get
            {
                var v = VAL_01_1 + VAL_01_2 + VAL_01_3 + VAL_01_4;
                return v.ToString();
            }
        }
        public string CNT_51
        {
            get
            {
                var v = VAL_51_1 + VAL_51_2 + VAL_51_3 + VAL_51_4;
                return v.ToString();
            }
        }
        public string CNT_01_1
        {
            get
            {
                if (Type == 1) return "";
                if (VAL_01_1 == 0) return "-";
                return VAL_01_1.ToString();
            }
        }
        public string CNT_01_2
        {
            get
            {
                if (Type == 1) return "";
                if (VAL_01_2 == 0) return "-";
                return VAL_01_2.ToString();
            }
        }
        public string CNT_01_3
        {
            get
            {
                if (Type == 1) return "";
                if (VAL_01_3 == 0) return "-";
                return VAL_01_3.ToString();
            }
        }
    
    //В том же духе до CNT_51_4
    
        public static TotalStat operator +(TotalStat t, TotalStat c)
        {
            t.VAL_01_1 += c.VAL_01_1;
            t.VAL_01_2 += c.VAL_01_2;
            t.VAL_01_3 += c.VAL_01_3;
            t.VAL_01_4 += c.VAL_01_4;
            t.VAL_51_1 += c.VAL_51_1;
            t.VAL_51_2 += c.VAL_51_2;
            t.VAL_51_3 += c.VAL_51_3;
            t.VAL_51_4 += c.VAL_51_4;
            return t;
        }
    }

    На лабу похоже, да? А вот это не лаба. Сириозный праэкт для суровой организации (продолжение).

    kerman, 06 Апреля 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if (_viewModel.ShowColumnChooser && _viewModel.UseDefaultColumnChooser)
        //...
    else {
        if (!_viewModel.ShowColumnChooser)
            return;
        //...
    }

    Сэмпл платного фреймворка Syncfusion. Да, на этом коде они объясняют, как использовать их классы. А в поддержке отвечают сплошные косноязычные Раджеши Кутрапалли.

    gogishvilli001, 03 Апреля 2016

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

    +4

    1. 1
    phases.Where(phase => phase == null || phase.Trim().Length == 0)

    Нашёл в своём проекте, эта строка прошла code review. phase - это строка.

    gogishvilli001, 03 Апреля 2016

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

    0

    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
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[HEADER]\r\n");
    netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
    ListMessage = strReader.ReadLine();
    //...
    while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
    {
            //Типа там читаем всякие заголовки и прочие бла-бла
            if (ListMessage.IndexOf("filename=") > -1)
            {
                    temp = ListMessage.Replace("filename=", "");
                    temp = temp.Trim();
                    file_name = temp;
                    is_file = 1; temp = ""; is_att = 1;
            }
            //...
            ListMessage = strReader.ReadLine();
            continue;
    }
    //...
    WriteBuffer = enc.GetBytes("$ FETCH " + number + " BODY[TEXT]\r\n");
    netStream.Write(WriteBuffer, 0, WriteBuffer.Length);
    ListMessage = strReader.ReadLine();
    
    temp = "";
    end_file = 0;
    body = "";
    if (ListMessage.IndexOf("$ BAD ") == -1) ListMessage = strReader.ReadLine();
    if (ListMessage == "")
            is_body = 0;
    else
            is_body = 1;
    while ((ListMessage.IndexOf("$ OK ") == -1) && (ListMessage.IndexOf("$ BAD ") == -1))
    {
            if (is_body == 1)
            {
                    if (ListMessage == "")
                            is_body = 0;
                    else
                            body = body + ListMessage;
            }
            if ((is_att == 1) && (end_file == 0))
            {
                    if (is_file == 1)
                    {
                            if (ListMessage.IndexOf("--") > -1)
                                    end_file = 1;
                            else
                                    temp = temp + ListMessage;
                    }
                    if (ListMessage == "")
                    {
                            is_file = 1;
                    }
            }
            if (ListMessage.IndexOf("Content-Disposition: attachment;") > -1)
            {
                    is_att = 1;
            }
            //...
            ListMessage = strReader.ReadLine();
            continue;
    }
    if (is_att==0)
    {
            //А тут ничего интересного, просто декодирование из Base64 и сохранение в файл
    }

    Следите за булями (точнее, их суррогатами).

    ЗЫ: да, я уже выкладывал кусок из того же модуля, и там уже были некоторые куски, которые попали и сюда тоже.

    tucvbif, 02 Апреля 2016

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

    0

    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 override void OnPropertyChanged([CallerMemberName]string propertyName = null)
    {
        base.OnPropertyChanged(propertyName);
        if (String.Equals(propertyName, "[USERANKTARIFF]", StringComparison.CurrentCultureIgnoreCase))
        {
            if (((bool)this["USERANKTARIFF"]) == true)
            {
                this["SALARYLEVEL"] = null;
            }
            else
            {
                this["RANKTARIFF"] = null;
            }
        }
    }

    Продолжение хардкора. Мы любим ебаться с обжектами и кастами!

    kerman, 01 Апреля 2016

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    public void Initiaize(long buffersCount, int bufferSize)
    {
        if (bufferSize > Int32.MaxValue)
        {
            throw new ArgumentOutOfRangeException("bufferSize", bufferSize,
                                                  "Buffers size can't be grater than Int32 max value");
        }
        _bufferSize = bufferSize;
    }

    Irdis, 01 Апреля 2016

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

    +2

    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 int Add(T item)
    {
        var p = m_parent as DataTreeRecord;
        var i = item as DataTreeRecord;
        if (m_newData == null || m_newData.Length == 0) m_newData = new T[8];
        if (m_newData.Length <= m_newCount) Array.Resize(ref m_newData, m_newData.Length * 2);
    
        if (p != null && i != null)
        {
            i.Parent = p;
        }
        m_newData[m_newCount++] = item;
        OnCollectionChanged(new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Add, new T[1] { item }));
        return this.Count - 1;
    }

    Мы любим ебаться с array. List? Зачем, он медленный! Мы напишем свой ORM с аррэями и PHP внутри няшного сишарпика.

    Приходилось работать с этим проектом. Это просто кладезь говнокода, и это ещё не самое ужасное место.

    kerman, 31 Марта 2016

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