Правила программирования на С и С++. Главы 1-6 - Избегайте явно временных переменных
ОГЛАВЛЕНИЕ
Страница 74 из 93
67. Избегайте явно временных переменных.
Большинство переменных, используемых лишь один раз, попадают в эту категорию. Например, вместо:
int x = *p++;f( x );
должно быть: f( *p++ );Редко бывает, что полезна явная временная переменная, если вам нужно гарантировать порядок вычислений, или если выражение просто такое длинное, что его невозможно прочитать. В последнем случае имя переменной даст полезную информацию и, будучи выбрано правильно, может устранить необходимость в комментарии. Например, вы можете заменить: f( Coefficient_of_lift * (0.5 * RHO * square(v)) ); // передать функции f() образующуюся// подъемную силу
f( Коэффициент_подъемной_силы * (0.5 * RHO * квадрат(v)) ); // передать функции f()
// образующуюся подъемную
// силу
на: double lift = Coefficient_of_lift * (0.5 * RHO * square(v));f( lift );
double подъемная_сила = Коэффициент_подъемной_силы * (0.5 * RHO * квадрат(v));
f( подъемная_сила );
Это правило не запрещает ни одно из подобных применений, а является, скорее, вырожденным случаем того, что упомянуто мной вначале.