Подтвердить что ты не робот

Зачем использовать `return x == 5? true: false; `?

Я не вижу преимущества этой практики кодирования. Проект, над которым я сейчас работаю, полон этих утверждений, поэтому это не одна ошибка.

Другой пример:

return getNumberOfBooks() > 5 ? true : false;

И еще:

return isRed() ? true : false;
4b9b3361

Ответ 1

Нет абсолютно никаких оснований для этого.

Он избыточен и делает код более трудным для чтения.

Следующие слова гораздо легче читать:

return ( getNumberOfBooks() > 5 );

return isRed();

Ответ 2

Кажется, что вы работаете над проектом с новичками-программистами. Начать рефакторинг, где бы вы ни увидели:

return getNumberOfBooks() > 5 ? true : false;
return isRed() ? true : false;

измените его на:

return getNumberOfBooks() > 5;
return isRed();

Ответ 3

Тернарный оператор делает код почти нечитаемым, подумал, что это умный способ кодирования, но не следует поощрять, если это действительно необходимо

Ответ 4

Ясно, что это лишнее избыточность.

Я предлагаю сделать это в Eclipse:

  • найти все, что соответствует regexp "return (something)? true: false" и заменить его только something
  • и все, что соответствует regexp "return (something)? false: true" with! (something)

Вы можете делегировать это регулярное выражение тем, кто написал этот проект: D