Использование операторов сравнения вне условных выражений - PullRequest
10 голосов
/ 26 сентября 2008

Например

int f(int a) {
   ...
   return a > 10;
}

считается приемлемым (не законным, я имею в виду "хороший код") или всегда должно быть условным, как это

int f(int a) {
   ...
   if (a > 10)
      return 1;
   else
      return 0;
}

Ответы [ 12 ]

1 голос
/ 26 сентября 2008

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

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

0 голосов
/ 26 сентября 2008

Я обычно делаю первое над вторым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...