Правила программирования на С и С++. Главы 1-6
Страница 74. Избегайте явно временных переменных


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( подъемная_сила );

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

 
« Предыдущая статья