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

    Всего: 3

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

    +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
    // Не очень красивое решение. Но зато можно не выставлять в паблик всякие кишочки
    	private void SetValueToPrivateField<Type>(Type instance, string field, object value) {
    		if (instance != null) {
    			FieldInfo fieldInfo = typeof(Type).GetField(
    				field,
    				BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic
    			);
    				if (fieldInfo != null) {
    				fieldInfo.SetValue(instance, value);
    			}
    		}
    	}

    Публичный сеттер нарушит инкапсуляцию, поэтому будем использовать рефлексию

    "Мне нельзя ничего есть, поэтому я вставлю себе трубку прямо в живот и буду при необходимости заливать прямо туда. Но есть не буду"

    Caritas, 11 Марта 2015

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if (bonusA is RuneBonusLine && bonusB is RuneBonusLine) {
        Mix(bonusA as RuneBonusLine, bonusB as RuneBonusLine);
       } else if (bonusA is RuneBonusBomb && bonusB is RuneBonusBomb) {
        Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusBomb);
       } else if (bonusA is RuneBonusBomb && bonusB is RuneBonusLine) {
        Mix(bonusA as RuneBonusBomb, bonusB as RuneBonusLine);
       } else if (bonusB is RuneBonusBomb && bonusA is RuneBonusLine) {
        Mix(bonusB as RuneBonusBomb, bonusA as RuneBonusLine);
       }

    Is/As Oriented Programming

    Caritas, 11 Марта 2015

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

    +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
    public enum AdjacentCell {
       /// <summary>
       /// Сверху.
       /// </summary>
       Above = ABOVE,
       /// <summary>
       /// Снизу.
       /// </summary>
       Below = BELOW,
       /// <summary>
       /// Слева.
       /// </summary>
       Left = LEFT,
       /// <summary>
       /// Справа.
       /// </summary>
       Right = RIGHT
      }
    
      private const int ABOVE = 0;
      private const int BELOW = 1;
      private const int LEFT = 2;
      private const int RIGHT = 3;

    Мы добавили немного констант в твой енам, чтобы ты мог использовать константы, пока используешь енам

    Caritas, 10 Марта 2015

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