3

在我工作的地方,我经常看到这样的代码:

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

就个人而言,我更喜欢看到这样的东西:

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

并在顶部导入。

你怎么看?有哪些最佳做法?两者的优缺点是什么?我怎么能说服我的队友?

我发现第二种选择更清楚。

4

3 回答 3

5

绝对使用using指令,IMO。通常这只是 Visual Studio 自动生成的代码。我还没有看到有人故意手动编写这样的代码。IMO 值得确保人类将阅读的所有代码看起来都像人类编写的那样 - 所以我会添加 using 指令并在此处减少名称。它使阅读更容易 - 特别是当名称空间很长时。

于 2010-08-17T18:04:31.307 回答
0

如果类型在代码文件中只使用一次或两次,我倾向于使用完全限定名称。对于我使用的其他一切using

但这也取决于全名的长度。一切都是为了编写漂亮、易于阅读的代码。

于 2010-08-17T18:07:26.983 回答
0

除了少数情况,我想说,import或者using命名空间是最佳实践。这具有早期降级的额外优势:如果找不到命名空间,编译器会报错。

在需要完全限定名称的少数情况中(更正确的是:它不是完全限定的,您没有指定版本或密钥)会发生名称冲突(即:当两个命名空间碰巧具有相同的名称时,我看到这种情况经常发生在Util许多供应商添加到他们的库中的类中)(请注意,您可以使用 为类名命名using)。或者当您需要将名称限定为字符串时,这是另一个用例(即,使用反射)。有时,在调试时,使用 FQN 会有所帮助,因为调试器不允许添加using指令。

In the event you use the name only once, you may be tempted to use the FQN, but in my experience, you'll quickly find yourself using more than one name of the namespace and refactor it to importing the namespace in the header.

于 2010-08-17T18:10:30.807 回答