Правила программирования на С и С++. Главы 1-6 Страница 36. Помечайте конец длинного составного оператора чем-нибудь, имеющим смысл
|
Страница 36 из 93 32. Помечайте конец длинного составного оператора чем-нибудь, имеющим смысл.
Прежде всего, подобные комментарии в конце блока: while ( a ? b ) { for ( i = 10; --1 >= 0; ) { f( i );} // for} // whileне дают ничего, кроме неразберихи, если блоки короткие. Я использую их только тогда, когда составной оператор слишком велик, чтобы поместиться на экран (в моем текстовом редакторе около 40 строк) или в нем столько уровней вложений, что я не могу понять суть происходящего. Комментарии в конце блока обычно целесообразны в больших составных операторах, но мне приходилось часто видеть подобный код: На первой странице: while ( a ? b ) { while ( something_else() ) { for ( i = 10; --1 >= 0; ) { for ( j = 10; --j >= 0; ) { // далее идет масса кодаНа какой-то из последующих страниц: } // for} // for} // while } // while Эти комментарии слишком кратки, чтобы быть полезными. Завершающие блок комментарии должны полностью описывать управляющий оператор. Завершающие блок комментарии из предыдущего примера должны выглядеть таким образом: } // for ( j = 10; --j >= 0; )} // for ( i = 10; --1 >= 0; )} // while ( something_else() ) } // while ( a ? b ) Так как #ifdef почти всегда расположен на некотором расстоянии от #endif, то я всегда ставлю метку у #endif: #ifndef __SOMEFILE_H_ #define __SOMEFILE_H_ // здесь следует 1000 строк программы #endif // __SOMEFILE_H_ То же самое я делаю с #else. |