メンテナンスコメント
-
20-08-2019 - |
質問
既存のコードを変更するときにどのような特別なテクニックを使用しますか?
例えば:メソッド内のビジネス ルールを変更するとします。変更されたセクションに特別なコメントを付けますか?
コードを変更するときに使用するコーディング/コメント標準はありますか?
解決
あなたが好きなものを意味します:
foo(); // changed by SecretWiz, 20090131
私はこれをお勧めしません。これは、コードファイルクラッタ、およびバージョン管理システムはあなたのためにそれを処理する必要があります。これは、何が変わっ人を追跡します。使用
svn blame
他のヒント
私は基本的に、私がコードに私がやった方法を書いた理由はI(または誰かように、私は一般的に、それを説明するコメントを追加しますかなり明白ではない何かを比較的あいまいなバグを修正ような何かをした場合誰が今まで私のコードを変更した場合、他の、;-)誤って後でそれを削除しません。
私はいつもやろう一つのことは、私はその変化のために何のコメントをチェックインコードにバグ追跡システムにバグID(または機能要求ID)に置くことです。私は「より多くの詳細については、Bugzillaにこのバグ/機能のコメントを参照してください」のようなものを追加します。そこで私は、通常はそのコード変更の根拠を説明することができます。これは、すべての変更または少なくともすべての重要な変更が機能リクエスト/バグIDを通して追跡する必要があることを意味します。私は多くの時間がちょうど細部に関わるビジネス上の理由を説明するために、バグを作成しています。
いいえ、それは本当に悪い考えです。あなたのソースコントロールは、すべての編集の履歴を保持します。あなたが何かをしたい場合は、あなたのバグ追跡ツールにエントリを作成します。以下のようなもので、コードやごみ、それを古いセクションをコメントアウトする必要はありません。
// modified by A.B. on 11/23/99 to fix issue #123456
私は、私たちのコードベースでは、このようなコメントを見てきましたし、彼らはラインの下のは意味の年をしません。誰が一体A.B.で、問題#123456何でしたか?コードはまだここにいる場合、これは、誰かが将来的にこれらの変更をロールバックすることを計画することを意味するのでしょうか?
これらのコメントは価値がないだけで、あなたのコードを乱雑にするのに役立つています。
私は、メソッドを作成示唆&修正されているコードからそれを呼び出します。
また、この方法の目的/意図を提案する方法に名前を付けます。
例えば。
GiveRebateIfValidCoupon();
「任意の符号化/コードを変更するときに使用する基準をコメント?」
はい。新しいサブクラスを作成します。あなたはそれを適切にテストし、実際には間違っていたしませんでしたまれなケースを除いて一人で古いコードを残しています。
要件への変更は、サブクラスと新しいビジネスルールを処理するための新しいテストを追加することを意味します。
私は特別なコメントを追加するだけです。私は後でそれを見つけることができるようにそのような状況で、私は、標準的なキーワード(例えば、TEMPFIX)とそれにフラグを設定します。もちろん、あなたが戻ってくると、コードを削除するか、永続的な変更を行うことが、私たちは私たちはコードがコンパイルを中止した後に有効期限を指定することが許可されたマクロを使用することを強制しましたいくつかのプロジェクトにすることを忘れないようにしています。
それ以外は、私たちは、ソースコントロールに依存しています。
コードは、組織または組織のコーディング標準に準拠する必要があります。
したがって、いいえ、コードが変更されたという特別なコメントがあってはなりません。すべての、または少なくともほとんどのコードは遅かれ早かれ変更されるでしょう。
継承したコードがコメント標準に対応していない場合は、必ずコメントを追加してください。 リファクタリング コード。コードが非常に古く、文書化されていない場合は、当然のことながら文書を追加する必要があります。
コードを変更する前に、コードを理解することをお勧めします (ちなみに)。
通常、私はちょうどコードを変更しての私のソース管理チェックで私のコメントを行います。選択したタスクの追跡ツールでは、あなたはタスクが実装されたリビジョンを参照することができます。
時々私は特定の機能は、ユーザー要件が議論されている方法に応じなど、前後に変更動き回る、名前を変更しようとしていることを知っています。この特殊なケースでは、私はそこに古いバージョンを保持し、それをコメントアウトします。そして、それだけではなく、古いバージョンを探して、ソースコントロールを通じて強よりも、後でそれをコメント解除する些細になります。彼らは、ユーザーがAGAIN彼らの心を変更する場合の要件は、すでにアンコメントであることを待って、コードになりますので、後にコードを維持する必要がある場合にも、誰かのお尻を保存することができます。
私はここSO上の他の多くの人々に同意する必要があります。 「あなたのコードで何かを必要としない場合は、それを削除」。特に、生産コードで、あなたがしたい最後のことは、混乱がたくさんあります。誰かがあなたの変更があなたのメンテナンスのコメントを読んで、おそらく混乱するよりも、どのように機能するかを理解することがはるかに容易になる可能性があります。
私は私のプロジェクトで、古い非推奨のコードを維持するために使用されるが、時間をかけて、わずか数千行されている必要がありますプロジェクトは、管理するために、万、ハード上になってしまっています。