1. Java / Говнокод #19112

    −32

    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
    public class ApplicationConstants {
    
    < ... >
    
        /* Kumar Contants - start   */
        public static final int TENTHOUSAND = 10000;
        public static final int THREETHOUSAND = 3000;
        public static final int THOUSAND = 1000;
        public static final int NINETHOUSANDEIGHTHUNDREDTHIRTYSIX = 9836;
        public static final int FOURTHOUSANDFIVEHUNDREDTHIRTY = 4530;
        public static final int TWOHUNDREDFOURTYSEVEN = 247;
        public static final int ONEHUNDREDFIFTYONE = 151;
        
        public static final int THIRTYTHOUSAND = 30000;
        public static final int SIXTHOUSANDONEHUNDREDFIFTY = 6150;
        public static final int ONEHUNDREDTHIRTYTWO = 132;
        
        
        public static final int EIGHTHUNDRED = 800;
        public static final int TWOTHOUSANDFIVEHUNDREDSIXTYNINE = 2569;
        
        public static final int TWOTHOUSANDTHREEHUNDREDTHIRTYEIGHT = 2338;
        public static final int TWOHUNDREDFIFTY = 250;
        public static final int THREEHUNDRED = 300;
        public static final int SEVENTHOUSANDFIVEHUNDREDFIFTY = 7550;
        public static final int TWOHUNDREDTWELVE = 212;
        public static final int ONEHUNDREDFIFTYEIGHT = 158;
        public static final int ONEHUNDREDTWENTYSEVEN = 127;
        public static final int ONEHUNDREDTWENTYFOUR = 124;
        public static final int TWOHUNDREDFOURTYTHREE = 243;
        public static final int TWOHUNDREDFIFTYNINE = 259;
        public static final int THIRTEENTHOUSANDEIGHTHUNDRED = 13800;
        public static final int TWOHUNDREDTWENTYNINE = 229;
        public static final int ONEHUNDREDSEVENTYNINE = 179;
        public static final int ONEHUNDREDFOURTYSEVEN = 147;
        public static final int TWOHUNDREDTWENTYFIVE = 225;
        public static final int THREEHUNDREDFIFTY = 350;
        public static final int THREEHUNDREDTWENTY = 320;
        public static final int TWOHUNDREDSEVENTY = 270;
        public static final int ONEHUNDREDEIGHTYSEVEN = 187;
        public static final int ONEHUNDREDEIGHTYFIVE = 185;
        public static final int TWOHUNDREDNINETYFOUR = 294;
        public static final int ONEHUNDREDNINETY = 190;
        public static final int ONEHUNDREDEIGHTY = 180;
        public static final int ONEHUNDREDTWENTYNINE = 129;
        public static final int TWOHUNDREDSIXTYSEVEN = 267;
        public static final int ONEHUNDREDFIFTYFIVE = 155;
        public static final int TWOHUNDREDFIVE = 205;
        
        public static final int TWOHUNDREDTHIRTYFIVE = 235;
        public static final int FOURHUNDREDFIFTY = 450;
        public static final int SEVENTYTHOUSAND = 70000;
        public static final int THREEHUNDREDFIFTYSIX = 356;
        public static final int TWOHUNDREDEIGHTNINE = 289;
        public static final int TWOHUNDREDNINETEEN = 219;
        public static final int THREELAKHS = 300000;
        /* Kumar Contants - end    */
    
    < ... >
    
    }

    Игра "Найди несоответствие".

    Запостил: codingHorror, 30 Ноября 2015

    Комментарии (23) RSS

    • public static final int TWOBILLIONSONEHUNDREEDFORTYSEVENMILLIONSFOURHUNDREEDSEIGHTYTHREETHOUSANDSSIXHUNDREEDSFORTYEIGHT = 2147483648;
      Ответить
      • public static final long NINEQUINTILLIONTWOHUNDREDTWENTYTHREEQUADRILLIONTHREEHUNDREDSEVENTYTWOTRILLIONTHIRTYSIXBILLIONEIGHTHUNDREDFIFTYFOURMILLIONSEVENHUNDREDSEVENTYFIVETHOUSANDEIGHTHUNDREDEIGHT = 9223372036854775808;
        Ответить
    • function makeOperMaker(op, neutral) {
        return function(value) {
          return function(a) {
            return (a || neutral) + op + value;
          }
        }
      }
      
      var sum = makeOperMaker('+');
      var product = makeOperMaker('*', '1');
      
      var numbers = {
        ONE: sum(1),
        TWO: sum(2),
        THREE: sum(3),
        FOUR: sum(4),
        FIVE: sum(5),
        SIX: sum(6),
        SEVEN: sum(7),
        EIGHT: sum(8),
        EIGH: sum(8),
        NINE: sum(9),
        TEN: sum(10),
        TWEN: sum(2),
        FIF: sum(5),
        THIR: sum(3),
        TWELVE: sum(12),
        TY: product(10),
        TEEN: sum(10),
        HUNDRED: product(100),
        THOUSAND: function(prefix) { return prefix + ')*1000+('; }
      }, names = Object.keys(numbers);
      
      function textToExpression(str, prefix) {
        return str.length ?
          [].concat.apply([], names.map(function(name) {
            if(str.substring(0, name.length) === name)
              return textToExpression(str.substring(name.length),
                numbers[name](prefix));
          }).filter(Boolean)) :
          [prefix + ')'];
      }
      
      function textToNumber(str) {
        return textToExpression(str, '(')
          .map(function(voretion) {
            try {
              return eval(voretion
                .replace(/\(\)\*/g, '')
                .replace(/\+\(\)/g, ''));
            } catch(e) {}
          }).filter(isFinite)[0];
      }
      
      function checkText(txt) {
        return txt.split('\n').map(function(line) {
          var d = /([A-Z]+) = (\d+);/.exec(line);
          if(d && Number(d[2]) != textToNumber(d[1])) return line;
        }).filter(Boolean);
      }
      
      checkText(prompt()).forEach(function(badLine) {
        console.log(badLine);
      });


      public static final int TWOHUNDREDEIGHTNINE = 289;
      public static final int THREELAKHS = 300000;

      http://ideone.com/igQjmE
      Ответить
      • А в экмаскрипте можно делать меджик свойства (при обращении к несуществующим свойства вызывается некая функция, которой параметром передаётся имя запрошенного свойства)?
        Ответить
        • Да и нет. Есть Proxy, но не везде.
          https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy
          Ответить
          • Жаль. А то можно было бы сделать класс Number, из которого можно было бы извлечь любую константу, записав её словами: Number.FIVE -> 5, Number.OneThousand -> 1000
            Ответить
          • И даже Five.Thousand.Forty.Three походу не получится сделать на этом вашем экмаскрипте...
            Ответить
            • С геттерами можно будет.
              Вот, скажем, если играть с объектами не-числами: http://ideone.com/dui3C8
              Ответить
            • А вот и с числами: http://ideone.com/Knf1i3
              Ответить
              • Типобезопасный крестоблядский ответ: http://ideone.com/GwSqVX

                P.S. По идее, IDE даже должно подсказывать, что можно написать дальше.
                Ответить
                • Круто. Но чую тут можно и без копипаста обойтись мозговыворачивающим рекурсивным шаблонофлюентом.
                  Ответить
                • Красиво, статично.
                  Ответить
                • Вот, что значит настоящий задрот C++! Тут и задротство, и C++.
                  Ответить
              • А что если...
                Что если каждый раз возвращать объект содержащий функции от zero to nine.
                var napython=make.three().underscore().one() .four();
                Ответить
                • Питон тебя и так обоссал, крестоуебище. Пи, накресты, пи!
                  Ответить
                • Тоже хорошо. Реализуется легче, работает стабильнее и быстрее.
                  Только удобнее ли для целевой аудитории?
                  Ответить
                • А не проще сразу __getattribute__ переопределить?
                  Ответить
        • >А в экмаскрипте
          Только в шестом вроде.
          Ответить
      • if(str.substring(0, name.length) === name)

        Экмаблядская магия?
        Ответить
        • Не совсем (хотя, substring в JS теоретически быстр, что и реализовано на практике), вот экмагия:
          .map(function(x) {
              if(f(x)) return g(x);
            }).filter(Boolean);
          Ответить
    • Видимо автору дали вдоль борозды за _100500, и сказали дать осмысленные имена константам
      Ответить
    • профессионально-расовая этика индийского программиста заставляет докидывать говна в код, который кажется слишком хорошим
      Ответить

    Добавить комментарий