2008-09-15 12 views
0

私のソリューションではより多くの名前空間が得られるようになり、ファイルの先頭にあるusingステートメントのリストは長くなり、長くなります。これは私の単体テストでは特にそうです。私はインタフェースとIoCコンテナと具体的な型のためにusingを含める必要があるかもしれない各コンポーネントについてです。私の.csファイルの上部にある長い使用リストを削除する方法はありますか?

私のインテグレーションテストファイルでは、17行以上の使用が上がっているので、ちょっと面倒です。ステートメントを使用して私のベースのマクロを定義する方法は誰にも分かりますか?その他のソリューション?

答えて

4

#regionで使用方法を隠すことを楽しむ人もいます。それ以外の場合、私はあなたが運がないと思う。あなたがすべての指示対象に名前空間を配置しない限り。

1

Resharper - Visual Studioのアドインには、ファイルからUsingのものを取り除く機能がありますが、あなたが何を記述しているのか分かりません。

+0

VS2008すぎて、右クリック - >優れたusings->削除未使用 –

+0

ああを、整理することを行います。まだ2008年を使わなかった。 – Rikalous

1

ステートメントを使用して私のベースのマクロを定義する方法はありますか?

頻繁に使用する名前空間は、新しいクラスに自動的に追加されますか?はいの場合、Resharperもそれを行うことができます。さらに、コードのクリーンアップ時に領域内で使用方法を設定する機能もあります。 Resharperは私が自分の経験から言うことができるように(あなたはそれを後悔しない)行く方法かもしれません。

6

私はこれを大声で言うべきではないと知っていますが、多分あなたのデザインを再考してください。

17 1つのファイルで使用=たくさんのカップリング(名前空間レベルで)。

+0

私は彼が主にテストについて話していると言いました。私はあなたのテストを結合することを避けることができるとは思わない! –

+0

それはちょうど愚かです。特に3つの他のコンポーネントを参照するコンポーネントのユニットテストファイルをとります。 1 MbUnit、1〜2のrhinoモック、1 IoC、各コンポーネントに1つのインターフェイス、1つの実装には完全に合理的です。各メッセージクラスに対して1つ。そして統合? Ugh –

2

自分でResharperに耐えられない。しかし、私はまた、ステートメントを使用して乱雑に立つことはできません。私はPower CommandsアドインをVSに使用しています。これは便利な 'Remove and Sort' usingステートメントコマンドを備えています。

1

VS2008には、並べ替え、削除、および「削除と並べ替え」オプションがあり、ファイルごとに必要なことを行う「整理使用」コンテキストメニューが追加されました。 Visual Studio Power Commandsアドインは、プロジェクト内のすべてのファイルとソリューション内のすべてのプロジェクトの「削除とソート」であるプロジェクトとソリューションのソリューションエクスプローラにコンテキストメニューを追加します。

0

VS2008では、CSファイルを右クリックして[使用方法の整理]を選択できます。使用していないものを取り除き、あなたのために並べ替えます。それ以外は#regionだけ使用します。また、CTRL + M + はデザイン時にすべての地域機能などを縮小します。私はこのショートカットをたくさん使っています!

1

新しいファイルを作成するときに実行されるステートメントを使用して既定値を変更する場合は、C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ ItemTemplates \ CSharp \ Code \ 1033ディレクトリ。これには、コードファイルのテンプレートを変更するために変更できるzipファイルがたくさん含まれています(ディレクトリ構造を上に移動して他の言語やその他の種類のファイルを変更することは明らかです)。

詳細については、hereを参照してください。

2

ここには4つの問題が考えられます。

コード内の名前空間がクラスを細かく分割しています。などがある場合は、

using MyCompany.Drawing.Vector.Points; 
using MyCompany.Drawing.Vector.Shapes; 
using MyCompany.Drawing.Vector.Transformations; 

MyCompany.Drawing.Vector名前空間にそれらを折りたたむことを検討してください。あなたはおそらくあまりにも多くを分けることによって得ることはありません。 Visual Studioのコード分析/ FxCopには、名前空間内のクラスの数をチェックするルールがあります。余りにも少なく、それはあなたに警告します。

同じクラスにあまりにも多くのテストを入れています。同じクラスのSystem.DataSystem.Drawing、およびSystem.IOを参照する場合は、より多くの原子テストを作成することを検討してください。データベースにアクセスするもの、イメージを描画するもの、ファイルシステムにアクセスするものがあります。次に、各タイプを3つのテストクラスに分けます。

あなたはあまりにも多くのテストを書いています。多くの名前空間を参照している場合、テストでは多すぎる機能が結合されている可能性があります。このようなカップリングはしばしばバグが多い可能性があるので、大きくて幅広い機能を小さな部分に分割し、これらを別々のファイルでテストしてみてください。

多くは冗長です。これらはすべて使用されているか、他のファイルからコピー・ペーストされているだけですか?コードエディタを右クリックし、[使用する整理]オプションから選択して未使用のステートメントを削除します。

+0

これは、一度に4,6、またはそれ以上のコンポーネントをテストする統合テストでは、主に問題です。ですから、あまりにも多くのテストを行っている間は正しいですが、そのようなことは統合テストの性質です。 –

1

エイリアシングを使用すると役立つことがあります。わからないそれはそれは価値ですが、代わりに:

あなたが使用することができます
using System.Web.UI; 
using System.Web.Mail; 
using System.Web.Security; 
... Control ... 
... MailMessage ... 
... Roles ... 

using W = System.Web; 
... W.UI.Control ... 
... W.Mail.MailMessage ... 
... W.Security.Rolse ... 
関連する問題