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

    Всего: 3

  2. JavaScript / Говнокод #14223

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    $.validator.addMethod("phoneNumber",
            function(value, element) {
                 var letterNumber = /^[a-zA-Z]+$/;
                if (value.match(letterNumber)) {
                    return false;
                }
    
                var phoneString = value.replace(/\D/g, '');
                return phoneString.length == 0 || phoneString.length >= 11;
            });

    данная кучка "валидировала" телефонный номер

    Tessen, 13 Декабря 2013

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

    +139

    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
    public class Switch
        {
            public Switch(object switchElement)
            {
                Object = switchElement;
            }
    
            public object Object{get; private set; }
        }
    
        public static class SwitchExtensions
        {
            public static Switch Case<T>(this Switch switchCase, Func<T, bool> isTrue, Action<T> action) where T : class
            {
                return Case(switchCase, isTrue, action, false);
            }
    
            public static Switch Case<T>(this Switch switchCase, Func<T, bool> isTrue, Action<T> action, bool fallThrough) where T : class
            {
                if (switchCase == null)
                    return null;
    
                var obj = switchCase.Object as T;
    
                if (obj != null)
                    if (isTrue(obj))
                    {
                        action(obj);
                        return fallThrough ? switchCase : null;
                    }
    
                return switchCase;
            }
        }
    
    
               //пример использования
    
                IImporter<AccountModel> result = null;
    
                new Switch(type)
                    .Case<string>(x => x == ".xls", y => result = new ExcelImporter())
                    .Case<string>(x => x == ".csv", y => result = new CsvImporter());
    
                return result;

    У нас будет свой Switch/Case с преферансом, куртизанками и экстеншен методами

    Tessen, 09 Октября 2013

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

    +136

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    var regex = new Regex(@"{[\w\d]+}");
    
    var keys = (regex.Matches(m_Format.Format)
          .Cast<object>()
          .Select(match => match.ToString()
          .Replace("{", ""))
          .Select(replace => replace.Replace("}", "")))
          .ToList();

    Tessen, 09 Октября 2013

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