3

私が働いている場所では、次のようなコードをよく見かけます。

public void Test(Models.User.UserInfo userInfo, Models.User.UserParameter param)
   { ... }

個人的には、次のようなものを見るのが好きです。

public void Test(UserInfo userInfo, UserParameter param) { ... }

そして、上部にインポートがあります。

これについてどう思いますか?ベストプラクティスとは? 両方の長所と短所は何ですか?どうすればチームメイトを説得できますか?

2番目のオプションがより明確であることがわかりました。

4

3 に答える 3

5

using必ずディレクティブ IMOを使用してください。通常、これは Visual Studio によって自動生成された単なるコードです。このようなコードを意図的に手作業で書いている人を見たことがありません。IMO 人間が読むすべてのコードが、人間が書いたように見えることを確認する価値があります。そのため、using ディレクティブを追加して、ここで名前を減らします。特に名前空間が長い場合は、読みやすくなります。

于 2010-08-17T18:04:31.307 に答える
0

タイプがコードファイルで1回だけ、または2回だけ使用される場合は、完全修飾名を使用する傾向があります。私が使用する他のすべてのためにusing

ただし、これはフルネームの長さにも依存します。美しく、読みやすいコードを書くことがすべてです。

于 2010-08-17T18:07:26.983 に答える
0

いくつかの状況を除いて、私は言うでしょう、importまたはusing名前空間がベストプラクティスです。これには、早期劣化という追加の利点があります。名前空間が見つからない場合、コンパイラは文句を言います。

完全修飾名が必要ないくつかの状況(より正確には、完全修飾ではないため、バージョンまたはキーを指定しない)の中で、名前の衝突が発生する場合(つまり、2つの名前空間が同じ名前を持つ場合)があります。 、これは多くのベンダーがライブラリに追加するクラスで頻繁に発生することがわかりますUtil)(を使用してクラス名のエイリアスを作成できることに注意してくださいusing)。または、名前を文字列として修飾する必要があるが、それは別のユースケースです(つまり、リフレクションを使用する場合)。usingデバッガーではディレクティブの追加が許可されていないため、デバッグ中にFQNを使用すると役立つ場合があります。

名前を1回だけ使用する場合、FQNを使用したくなるかもしれませんが、私の経験では、名前空間の複数の名前を使用していることにすぐに気付き、ヘッダーに名前空間をインポートするようにリファクタリングします。

于 2010-08-17T18:10:30.807 に答える