1. Список говнокодов пользователя piocsic

    Всего: 3

  2. C# / Говнокод #10921

    +132

    1. 1
    2. 2
    3. 3
    long id;
    try { id = long.Parse(e.Item.Cells[0].Text); }
    catch { id = 0; }

    Эта жемчужина прекрасно описывает весь говнокод производимый различными группами людей в моей компании.

    piocsic, 12 Июня 2012

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

    +123

    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 bool IsInt(object ValueToCheck)
    {
    	int Dummy = new int();
    	string InputValue = Convert.ToString(ValueToCheck);
    
    	//If user enters 45.00 This should not be allowed
    	//User must enter numbers without .00
    	if(InputValue.Contains("."))
    		return false;
    	bool Int = int.TryParse(InputValue, System.Globalization.NumberStyles.Any, null, out Dummy);
    	return Int;
    }

    Уже другой индусский автор наговнокодил. Орфография сохранена. Причем он сам себе в ногу выстрелил используя NumberStyles.Any...

    Вот как надо:

    private static bool IsInt(string valueToCheck) 
    {
    int dummy;
    return int.TryParse(valueToCheck, System.Globalization.NumberStyles.None, null, out dummy);
    }

    piocsic, 01 Марта 2011

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

    +115

    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
    char[] splitter = { ',' };
    string types = hashtable[FlagsEnumValue].ToString();
    string[] typesStringArray = types.Split(splitter, StringSplitOptions.RemoveEmptyEntries);
    ArrayList typesArray = new ArrayList();
    
    foreach (string str in typesStringArray)
    {
       foreach (string type in Enum.GetNames(typeof(FlagsEnum)))
       {
          if (type == str.Trim())
          {
             typesArray.Add((FlagsEnum)Enum.Parse(typeof(FlagsEnum), str, true));
             break;
          }
       }
    }
    
    
    foreach (FlagsEnum type in typesArray)
    {
       if ((someObject.field & type) > 0)
       {
          typeFound = true;
       }
       else
       {
          typeFound = false;
          break;
       }
    }

    Автор хотел чтобы его любили. Точнее он хотел сконвертировать строковое представление битового енама в инам и сравнить по маске с проперти обьекта. Если бы автор прочел документацию то написал бы так:
    string types = hashtable[FlagsEnumValue].ToString();
    if (types != "")
    {
    FlagsEnum enum = (FlagsEnum)Enum.Parse(typeof(FlagsEnum), types, ignoreCase: true);
    if ((enum & someObject.field) == enum)
    typeFound = true;
    }

    piocsic, 01 Марта 2011

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