Я майже ніколи не використовую потрійного оператора, тому що коли я його використовую, він завжди змушує задуматися набагато більше, ніж мені доведеться пізніше, коли я намагаюся його підтримувати.
Мені подобається уникати багатослів’я, але коли це полегшує підбір коду, я піду на багатослів’я.
Поміркуйте:
String name = firstName;
if (middleName != null) {
name += " " + middleName;
}
name += " " + lastName;
Зараз це трохи дослівно, але я вважаю, що це набагато читає, ніж:
String name = firstName + (middleName == null ? "" : " " + middleName)
+ " " + lastName;
або:
String name = firstName;
name += (middleName == null ? "" : " " + middleName);
name += " " + lastName;
Просто здається, що стискає занадто багато інформації в занадто мало місця, не даючи зрозуміти, що відбувається. Щоразу, коли я бачу, як використовується потрійний оператор, я завжди знаходив альтернативу, яку здавалося набагато простішою для читання ... то, знову ж таки, це надзвичайно суб’єктивна думка, тому якщо ви та ваші колеги вважають, що тернар є дуже читабельним, перейдіть до цього.