今日、同僚のコードレビューをしているときに、奇妙なことがわかりました。彼は次のような中括弧で新しいコードを囲んでいました:
Constructor::Constructor()
{
existing code
{
New code: do some new fancy stuff here
}
existing code
}
これから、もしあれば、どのような結果になりますか?これを行う理由は何でしょうか?この習慣はどこから来たのですか?
編集:
以下の入力といくつかの質問に基づいて、すでに回答にマークを付けていたとしても、質問にいくつか追加する必要があると思います。
環境は組み込みデバイスです。C ++の服に包まれたレガシーCコードがたくさんあります。多くのC向けC ++開発者がいます。
コードのこの部分には重要なセクションはありません。コードのこの部分でしか見たことがない。主要なメモリ割り当ては行われず、設定されているフラグと、ビットがいじられるだけです。
中括弧で囲まれたコードは次のようなものです。
{
bool isInit;
(void)isStillInInitMode(&isInit);
if (isInit) {
return isInit;
}
}
(コードを気にしないで、中かっこに固執してください...;))中かっこの後には、少しいじる、状態チェック、および基本的な信号があります。
私はその人と話しました、そして彼の動機は変数の範囲を制限すること、衝突に名前を付けること、そして私が実際に拾うことができなかった他のいくつかでした。
私のPOVからこれはかなり奇妙に思われ、波かっこがコードに含まれるべきだとは思いません。中かっこでコードを囲むことができる理由についてのすべての回答でいくつかの良い例を見ましたが、代わりにコードをメソッドに分けるべきではありませんか?