開発中のいくつかの理由で、コードをコメントアウトすることがあります。私は無秩序で時々急いでいるので、これらのいくつかはそれをソース管理にします。
また、コメントを使用してコードのブロックを明確にします。
例えば:
MyClass MyFunction()
{
(...)
// return null; // TODO: dummy for now
return obj;
}
これは「機能」し、多くの人がこのように実行しますが、コメント化されたコードとコードを明確にする「実際の」コメントを自動的に区別できないのは不愉快です。
- コードを読み取ろうとするとノイズが発生します
- たとえば、ソース管理のon-commitフックのコメントアウトされたコードを検索することはできません。
一部の言語は、複数の単一行コメントスタイルをサポートする-例えばPHPにすることができますいずれかを使用//
または#
単一行コメントのために-と開発者がコメントアウトコードのためにこれらのいずれかを使用に同意することができます:
# return null; // TODO: dummy for now
return obj;
他の言語-私が今日使用しているC#など-は、単一行のコメントに対して1つのスタイルを持っています(そうですか?コンパイラディレクティブを使用した「コメントアウト」コードの例も見ました。これはコードの大きなブロックに最適ですが、ディレクティブには2つの新しい行が必要であるため、1行では少しやりすぎです。
#if compile_commented_out
return null; // TODO: dummy for now
#endif
return obj;
したがって、コメントアウトコードはすべての(?)言語で発生するので、「無効化されたコード」は言語仕様で独自の構文を取得すべきではありませんか?プロの(コメントの分離/無効化されたコード、エディター/ソースコントロールがそれらに作用する)は十分であり、短所(「コメントアウトはすべきではない」)であり、言語の機能的な部分ではなく、潜在的なIDEラグ(Thomasに感謝) ))犠牲に値する?
編集する
私が使用した例はばかげています。ダミーコードは実際のコードに置き換えられるため、簡単に削除できます。
/# ... #/
が表示されても問題ありません。おそらくそれはIDEで異なって強調表示され(視覚的な合図の場合)、コンパイラの警告を生成し、誰かがそのような変更をチェックし直すと、毎晩のビルドによってトラップおよびレポートされます。ソース管理に。