1
6
我会拒绝第一个(
编辑
:问题变了,第一个是我现在也更喜欢的问题)。因为仅仅从函数定义来看,还不清楚bar指的是什么。还有,随你
因为它在当前范围内查找(这里是全局范围),所以它找到两个foo,并告诉您对它的引用是不明确的。 我个人会这样做:
仅仅查看它所属命名空间的某个方法的定义也是不清楚的,但是在它周围有一个命名空间范围,您可以很容易地查看它。此外,现在很明显,bar引用了名称空间foo。 第二种方式,你会显示太多的打字我实际上。另外,第二种方法可能会在新的代码阅读器中引起混淆:foo是类吗,它是一个嵌套类吗?或者foo是一个名称空间并禁止类? |
2
5
我更喜欢未列出的选项:
与选项1不同,这使得代码明显属于foo名称空间,而不仅仅是使用它。与选项二不同,它节省了大量的输入。双赢。 |
3
2
我宁愿选择第一种情况,其中名称空间被显式标记为:
原因是从语法上可以清楚地看出,类是一个类,而名称空间是一个名称空间(任何其他名称都不那么明显)。如果密码是
然后,读者就不清楚名称空间是命名空间,还是类名为该类的内部类。
我倾向于避免使用“using”语句,即使这样,在两个不同的名称空间中使用两个类的litb示例也会使编译器和程序员感到困惑,应该避免使用。 |
4
1
我认为这取决于每种情况。如果它是第三方库,类似于您自己的代码,并且您希望避免代码中的混淆,那么在每次出现时指定完整的名称空间可能是有益的。但除此之外,代码越少越好(除非变得不清楚)。 |
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |