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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
class A {}

class B {}

class C {
    public void m(A a, B b) {
        /* ... */
        if ((Object) a != (Object) b) { /* ... */ }
    }
}

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

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

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

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

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

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

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

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

Где здесь C++, guest?!

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


    8