Jawa / Говнокод #4035 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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
public class Constants {

    /* ... */

    public static final int FOUR = 4;
    public static final int THREE = 3;

    public static final int INTEGER_FOUR = 4;
    public static final int INTEGER_FIVE = 5;
    public static final int INTEGER_ONE = 1;
    public static final int LENGTH_FOUR = 4;
    public static final int LENGTH_FIVE = 5;
    public static final int LENGTH_SEVEN = 7;
    public static final int LENGTH_EIGHT = 8;
    public static final int LENGTH_NINE = 9;
    public static final int LENGTH_ELEVEN = 11;
    public static final int LENGTH_TWELVE = 12;
    public static final int LENGTH_EIGHTEEN = 18;
    public static final int LENGTH_FIFTEEN = 15;
    public static final int ONE = 1;
    public static final int INTEGER_FIVE = 5;
    public static final int INTEGER_ONE = 1;
    public static final int PLUS_ONE = 1;
    public static final int INTEGER_THREE = 3;

    public static final Long LONG_VALUE_TEN = Long.valueOf(10);
    public static final Long LONG_VALUE_ZEARO = Long.valueOf(0);

    public static final BigDecimal BIGDECIMAL_ZERO = new BigDecimal(0);
    public static final BigDecimal BIGDECIMAL_ONE = new BigDecimal(1);

    public static final BigDecimal NEGATIVE_NUMBER_ONE = new BigDecimal(-1);

    public static final int COMPARE_RESULT_ZERO = 0 ;
    public static final int COMPARE_RESULT_ONE = 1 ;
    public static final int COMPARE_RESULT_NEGATIVE = -1 ;

    /* ... */

    public static final String NINE_STRING = "9";
    public static final String ONE_STRING = "9";

}

Хардкодить волшебные числа - плохой стиль. @dailywtf

Запостил: bugmenot bugmenot, (Updated )

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

  • казалось бы, тип говнокода не оригинален. но FOUR и тут же INTEGER_FOUR - эта плюс.
    хотелось бы, что бы до автора донесли, что волшебные числа сами по себе не так плохи, как ничего не говорящие константы
    Ответить
  • $ cat /usr/include/boost/math/constants/constants.hpp
    ...
    BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884197169399375105820974944, 
    59230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196, 0)
    //...
      BOOST_DEFINE_MATH_CONSTANT(third, 0.3333333333333333333333333333333333333333333333333333333333333333333333, 
    3333333333333333333333333333333333333333333333333333333333333333333333333, 0)
      BOOST_DEFINE_MATH_CONSTANT(twothirds, 0.66666666666666666666666666666666666666666666666666666666666666666666, 
    66666666666666666666666666666666666666666666666666666666666666666666667, 0)
      BOOST_DEFINE_MATH_CONSTANT(pi_minus_three, 0.141592653589793238462643383279502884197169399375105820974944, 
    59230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196, 0)

    ...
    Ответить
    • С этими даблами морока, их надо округлять.
      К примеру в браузерной строке адреса наберите:
      javascript:alert(0.1 + 0.2)
      получите
      0.30000000000000004

      Так что тут это может оправдано.
      Так что вот так.
      Ответить
  • Автор умеет считать только до 18-ти? Слабовато для 5-го класса =)
    Ответить
  • Когда-то программисты на GWBasic-е вовсю использовали этот прием в целях оптимизации кода и еще чтобы сделать его менее читаемым. При этом имена констант старались максимально сокращать. Кто-то копировал куски чужого кода в свой, так что некоторые константы кочевали из листинга в листинг. Например, если "пи" называлось PI, то число 180 почему-то часто обозначали K.
    Ответить
    • шикарно. хорошо, что мне не пришлось работать с такими творениями
      Ответить
    • зачем делать код менее читаемым? сделать себя ещё более незаменимым?
      Ответить
      • с той же целью, с которой сейчас запускают обфускаторы
        Ответить
        • хм..
          ну обфускатор делает нечитабельным сорс, интерпритируемый из байт-кода, иначе ео не скроешь
          а как в нежелательные руки попадал сорс на гвбасике?
          Ответить
        • это еще до gwbasic зародилось и причиной имело жуткую нехватку памяти на тогдашних писюках
          Ответить

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

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8