如果我想使用包baz
中定义的名称foo|bar|quz
,我有几种选择:
fbq
作为foo|bar|quz
的简称,并使用fbq|baz
foo|bar|quz|baz
baz
导入foo|bar|quz|baz
,然后使用baz
(或导入过程中提供的别名)foo|bar|quz|baz
导入所有公开符号,然后使用baz
对于我所知道的语言,我的看法是最好的做法是使用前两种方式(我会根据特定的包名称和我需要的符号数量来使用其中一种)。我只使用第三种语言,它不提供第一种语言,并寻找支持工具来编写import语句。在我看来,第四个应保留给设计的包而不是导入,例如,如果所有导出的符号都以前缀开头或包含包的名称。
我的问题:
答案 0 :(得分:0)
在C#中我使用选项2,这是有道理的,因为开发IDE的丰富支持。由于通常的做法是将命名空间声明为代码文件的顶部(您在项目符号中引用的导入),因此您可以一目了然地看到给定文件正在使用的内容。
我说IDE支持很重要,因为它让我可以一目了然地看到我的代码中引用的给定类来自的工具提示,并且还让我看到哪些命名空间声明实际上没有被使用并且可以被删除。
对于没有上述IDE优势的旧语言,我可能会倾向于3号,这样您仍然可以使用简洁的代码,避免混淆给定类的来源。我个人会避免选项1,因为它似乎太冗长了。
同样对于一种新语言,我的决定将取决于IDE。如果它有像我为C#所描述的那样的东西,我会选择选项2,否则选项3。