![]() |
1
2
好处是,您不需要为您使用的所有内容添加导入,特别是如果它是您从特定名称空间使用的唯一内容,它还可以防止冲突。 当然,缺点是代码的大小会越来越大,而且使用的特定限定符越多,阅读起来就越困难。 就我个人而言,我倾向于对大多数事情使用导入,除非我确定我只会使用来自特定命名空间的东西一两次,这样就不会影响我代码的可读性。 |
![]() |
2
2
你对所引用的类型非常明确,这是一个好处。虽然,在同一个过程中,你放弃了代码的清晰度,这在我的情况下显然是一个缺点,因为我希望代码是可读和可理解的。我选择简短的版本,除非我在不同的名称空间中有冲突,这只能通过显式引用类来解决。。除非我使用以下关键字为其创建别名:
|
![]() |
3
2
实际上,完整的路径是
|
![]() |
4
2
我通常使用最短的形式,以保持代码尽可能干净和可读。毕竟,这就是使用指令的目的,VS编辑器中的工具提示为您提供了关于类型来源的即时详细信息。 我还倾向于在COM互操作层中为RCW使用命名空间标记,以在代码中显式地调用这些变量(它们可能需要特别注意生命周期和集合),例如
|
![]() |
5
2
就业绩而言,没有上行/下行。所有问题都在编译时解决,无论是否使用完全限定名,生成的MSIL都是相同的。 为什么它的使用在中国很普遍。NET世界是因为自动生成的代码,如设计器标记。在这种情况下,最好像类名一样完全限定名称,因为可能会与代码中的其他类发生冲突。 如果你有一个像ReSharper这样的工具,它实际上会告诉你哪些完全合格的引用是不必要的(例如,通过将它们变灰),这样你就可以删除它们。如果你经常在各种代码库中剪切粘贴代码,那么必须完全合格它们。(再说一次,为什么你总是想剪切粘贴;这是一种糟糕的代码重用方式!) |
![]() |
6
1
我认为这并没有什么缺点,只是可读性与实际编码时间相比。一般来说,如果你没有带有模糊对象的名称空间,我认为这并不是真的需要。另一个需要考虑的因素是使用水平。如果你有一种使用反射的方法,并且你对打字系统没有问题。反思10次,这没什么大不了的,但如果你打算经常使用一个命名空间,那么我建议你使用一个包含。 |
![]() |
7
1
根据您的情况,额外的限定符将生成警告(如果这就是您所说的冗余)。如果你将警告视为错误,那将是一个相当严重的缺点。 例如,我在GCC中遇到过这种情况。
|
![]() |
Sweepy Dodo · JSON lite的格式化 7 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 8 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 8 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 12 月前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |