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

    +74

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class A {}
    
    class B {}
    
    class C {
        public void m(A a, B b) {
            /* ... */
            if ((Object) a != (Object) b) { /* ... */ }
        }
    }

    Да здравствуют неочевидности! По-нормальному же нельзя писать :)

    Запостил: evg_ever, 08 Февраля 2014

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

    • Эм, а как вообще ссылки на объекты разных не порожденных друг от друга классов могут быть равны? :)

      > По-нормальному же нельзя писать :)
      if (true)?
      Ответить
      • это проверка на
        a != null || b != null
        Ответить
      • > Эм, а как вообще ссылки на объекты разных не порожденных друг от друга классов могут быть равны?

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

        Чем меньше в коде неявных зависимостей, тем очевидно код лучше.
        Ответить
        • Ты о чем? Нормальную версию этого кода написал выше evg_ever: a != null || b != null.
          Ответить
    • показать все, что скрытододик, код исправь!
      Ответить
    • компилятор думает за вас, все правильно. а вы тут в ногу себе стреляете.
      Ответить

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