2012-02-24 8 views
0

C#の機能の多くを「廃止予定」または「作業が必要」としてマークしたいと考えています。私の計画は、私が関数にタグを付けるために使用する顧客属性を作成することです。カスタムのDeprecatedおよびNeedsWork C#属性を作成して使用するのは悪いですか?

Is this use of attributes in .Net (C#) expensive?

私の質問は、これは属性の悪い使用であるかどうかです:私は、パフォーマンスに影響を与えない属性は、その情報を示すように見えるこの質問を見ました。フェーズ2に戻り、コードを削除するか、または何らかの方法でそれを再作成できるように、コードをマークするより良い方法はありますか?

P.S.廃止された属性があることに気付きましたが、コンパイラの警告が非常に多く発生します。私は "本当の"コンパイラの警告を見ることができるようにしたい。

答えて

4

これは、クラスのプロジェクト管理属性を作成するような感じです。

あなたのコードと異なるプロジェクト管理があります。機能が初めて「完了」されていない場合は、他の優先順位の下に埋もれてしまう可能性があります。

もちろん、Task list commentsは// TODO:を追加するだけです。コードでリマインダが必要な場合は、ビジュアルスタジオのタスクリストエディタで取得します。

'needfixing'属性を持つクラスをデコレートすることはできません。それが完了していれば、そうでない場合は、リマインダーが必要な場合は、十分なはずです。

+0

私のドメイン層にはうまく機能する多くの機能がありますが、私は戻ってきてそれらをきれいにしたいと思います。たとえば、私はパラメータとしてHttpContextをとる関数を持っています。私は、ドメイン層がHttpContextオブジェクトと連携していてはならない懸案事項があると考えています。私のASP.NETアプリをASP.NET MVCに再構築することは、本当に私にとって懸案事項の分離をたくさんもたらしました。 もっと重要なことは、私は今これを行う必要がありますが、何らかの方法でタグを付けたいと思います。おそらく、私はTODO://コメントを使用すべきです。 –

+1

他の誰かがあなたのコードを拾うならば、TODOコメントはもっと分かりやすいでしょう。私は、「needfixing」のようなカスタムアトリビュートはあまりにもあまりにも秘密かもしれないことがわかります。 TODOで作業を終わらせることができれば、私はそのことに行きます。さらに良くなったら、今すぐやるよ。技術的負債は、機能的要件よりも優先順位を決めることはほとんどありません。 – Anastasiosyal

2

属性を使って作業する必要のあるコードをマークするのは「悪い」とは言いませんが、残念です。 XML commentsとお考えですか?

+0

私は、属性をXMLコメントで計画していました。なぜなら、それらはすぐに入力するために少し軽量であり、少しは検索可能なからです。最終的には、// TODO:コメントがおそらくもっと適切だと思います。 –

+0

私は考慮すべき別のオプションを提供することができてうれしいことを説明する必要はありません。実際には、// TODOのトリックはかなり便利です、私は将来のプロジェクトのためにそれを覚えておく必要があります。 –

関連する問題