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

    +113

    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
    public partial class EditorForm : Form
    {
    	private List<IEditObject> _readOnlyObjects;
    	public IEditObject EditValue {get; set;}
    	
    	public EditorForm(IEditObject value, List<IEditObject> readOnlyObjects)
    	{
    		if (value != null)
    		{
    			EditValue = value;
    		}
    		
    		if (readOnlyObjects != null && readOnlyObjects.Count > 0)
    		{
    			_readOnlyObjects = readOnlyObjects;
    		}
    	}
    }

    Во избежание лишних присвоений.

    ICELedyanoj, 23 Февраля 2012

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

    +950

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;
    
    namespace bibl2
    {
        public class DBS_BUTTON : Button
        {
            static DBS_BUTTON()
            {
            }
            protected void OnClick(object sender, EventArgs e)
            {
                Click(sender, e);
            }
        }
    }

    Rusmikle, 20 Февраля 2012

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

    +964

    1. 1
    2. 2
    3. 3
    4. 4
    private static int CompareWidgetsByOrder(Widget x, Widget y)
    {
          return x == null ? y == null ? 0 : 1 : y == null ? 0 : x.order > y.order ? -1 : x.order < y.order ? 1 : 0;
    }

    Вот до чего доводит стремление к компактности кода.

    nomad99111, 19 Февраля 2012

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

    +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
    class MyClass
    {
      private List<MyObject> _collection = new List<MyObject>();
      public int SelectedObjectIndex { get; set; }
    	
      private void SelectionChanged( List<MyViewObject> selectedObjects )
      {
        bool bFound = false;
    
        foreach (MyViewObject item in objects)
        {
          if (!bFound)
          {
            for (int i = 0; i < _collection.Count; i++)
            {
              if (item.Tag != null && item.Tag is MyObject)
              {
                if (_collection[i] == item.Tag)
                {
                  this.SelectedObjectIndex = i;
                  bFound = true;
                  break;
                }
              }
            }
          }
          else
          {
            break;
          }
        }
    
        if (!bFound)
        {
          SelectedObjectIndex = -1;
        }
      }
    }

    Просто кладезь какой-то.
    Я переделал исходный код, чтобы было понятнее кто здесь кому и не нужно было разбираться со сложной структурой классов, которая используется в исходнике.
    Все имена классов вымышленные, на них не нужно обращать внимание - все лишь для демонстрации подхода к построению циклов и поиску объектов в коллекциях.

    ICELedyanoj, 17 Февраля 2012

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

    +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
    bool IsAdd = false;
    
    
                if (EditAnalysisTable.Rows.Count == 1)
                {
                    if (EditAnalysisTable.Rows[0][4].ToString() == string.Empty)
                    {
                        drow = EditAnalysisTable.Rows[0];
                    }
                    else
                    {
                        IsAdd = true;
                    }
                }
                else
                {
                    IsAdd = true;
                }
                if (IsAdd)
                {
                    drow = EditAnalysisTable.NewRow();
                    EditAnalysisTable.Rows.Add(drow);
                }

    Indian style: у них свои законы логики

    Nataly, 17 Февраля 2012

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

    +141

    1. 1
    2. 2
    3. 3
    4. 4
    if ((ddlProbType.Text != "" && ddlProbType.Text != "Select") && (txtDesc.Text != ""))
                {
                    if ((txtDesc.Text.Trim() == string.Empty))
                    {

    Indian style: чем больше скобок, тем лучше!

    Nataly, 17 Февраля 2012

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

    +120

    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
    //запись в журнал расчетов
    try
    {
        ompDataSet.OMP_History.AddOMP_HistoryRow(DateTime.Now, row["N"].ToString(), Convert.ToInt32(row["M"]), PS1I??0, PS1U??0, PS2I??0, PS2U??0, I1 / 1000, U1 / 1000, I2 / 1000, U2 / 1000, KZ, (Zone1.EditValue != null) ? Convert.ToDouble(Zone1.EditValue) : 0, (Zone2.EditValue != null) ? Convert.ToDouble(Zone2.EditValue) : 0, "", PS1_DeviceA.SelectedIndex, PS2_DeviceA.SelectedIndex, (Branch.Count > 0) ? true : false, "", "", "Время откл.: " + OffDT.DateTime.ToString("dd.MM.yyyy HH:mm") + "\n" + Lkz.ToolTip.Replace("\n", ";"));
        omp_HistoryTableAdapter.Update(ompDataSet);
        ompDataSet.OMP_History.AcceptChanges();
    }
    catch
    {
        XtraMessageBox.Show("Не удалось сохранить данные в журнал расчётов!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    
    try
    {
        ompDataSet.Result.Clear();
        ompDataSet.Result.AddResultRow(((KeyValuePair<string, int>)NumberVL.EditValue).Key, ((KeyValuePair<string, int>)NumberVL.EditValue).Value, PS1I ?? 0, PS1U ?? 0, PS1I ?? 0, PS2U ?? 0, Convert.ToDouble(I0_A.EditValue), Convert.ToDouble(U0_A.EditValue), Convert.ToDouble(I0_B.EditValue), Convert.ToDouble(U0_B.EditValue), Convert.ToDouble(I0_A_Eval.EditValue), Convert.ToDouble(U0_A_Eval.EditValue), Convert.ToDouble(I0_B_Eval.EditValue), Convert.ToDouble(U0_B_Eval.EditValue), Convert.ToDouble(Lkz.EditValue), Convert.ToDouble(Zone1.EditValue), Convert.ToDouble(Zone2.EditValue), (PS1_DeviceA.SelectedIndex == 0) ? "ЛИФП" : "ИМФ", (PS2_DeviceA.SelectedIndex == 0) ? "ЛИФП" : "ИМФ", GetCurrentUserName(), DateTime.Now, Branch.Count, PS1.Text, PS2.Text, Convert.ToDouble(LengthVL.EditValue), UsingForEval[0], UsingForEval[1], UsingForEval[2], UsingForEval[3], OffDT.DateTime);
        ompDataSet.Result.AcceptChanges();
    }
    catch
    {}

    ZOMG! Что это!?

    invi, 16 Февраля 2012

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

    +962

    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
    for (int i = 0; i < 4; i++)
    {
        if (!UseParam[i])
        {
            switch (i)
            {
                case 0:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра " + PS1_DeviceName_A.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            I1 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            I1 = GetCorrectElectricValue(CorrectKm[1] ?? 0, "I0_A", row["N"], row["M"]) * 1000;
                        I0_A.ErrorText = PS1_A.ErrorText = "Показание " + PS1_DeviceName_A.Text + " исключено из расчета";
                    }
                    break;
                case 1:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS1_DeviceName_B.Text + " " + PS1.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            U1 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            U1 = GetCorrectElectricValue(CorrectKm[0] ?? 0, "U0_A", row["N"], row["M"]) * 1000;
                        U0_A.ErrorText = PS1_B.ErrorText = "Показание " + PS1_DeviceName_B.Text + " исключено из расчета";
                    }
                    break;
                case 2:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания амперметра" + PS2_DeviceName_A.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            I2 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            I2 = GetCorrectElectricValue(CorrectKm[3] ?? 0, "I0_B", row["N"], row["M"]) * 1000;
                        I0_B.ErrorText = PS2_A.ErrorText = "Показание " + PS2_DeviceName_A.Text + " исключено из расчета";
                    }
                    break;
                case 3:
                    if (AutoCalc || XtraMessageBox.Show("Неверные показания вольтметра" + PS2_DeviceName_B.Text + " " + PS2.Text + "\nИслючить из расчета?", "Проверка показаний", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                    {
                        if (CorrectKm[i] == 0 || CorrectKm[i] == L)
                            U2 = (CorrectValue[i] ?? 0) * 1000;
                        else
                            U2 = GetCorrectElectricValue(CorrectKm[2] ?? 0, "U0_B", row["N"], row["M"]) * 1000;
                        U0_B.ErrorText = PS2_B.ErrorText = "Показание " + PS2_DeviceName_B.Text + " исключено из расчета";
                    }
                    break;
            }
        }
    }

    Красота

    invi, 16 Февраля 2012

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

    +960

    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
    private static void WriteErrLog(string FileName, string errors)
    {
        try
        {
            string name = Environment.CurrentDirectory + "\\log\\" + FileName.Replace("80020_", "");
            name = name.Replace(".xml", ".txt");
            if (File.Exists(name))
                name = name.Replace(".txt", "_" + DateTime.Now.ToString("yyyy-MM-dd hh_mm_ss") + ".txt");                
            using (StreamWriter f = new StreamWriter(name, true, Encoding.GetEncoding(1251)))
            {
                f.Write(errors);
            }
        }
        catch { }
    }

    Продолжаем...

    invi, 16 Февраля 2012

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

    +113

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    private static string GetStringParam(ref string str, string param)
    {
        string result = "";
        if (str.Contains(param))
        {
            result = str.Substring(str.IndexOf(param) + 1);
            str = str.Remove(str.IndexOf(param));
        }
        return result;
    }

    И еще

    invi, 16 Февраля 2012

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