我正在寻找意见,或者如果有一种商定的方式,就命名命名空间类而言。
E.g:
com.facebook.FacebookClient
vs
com.facebook.Client
或者
javax.script.ScriptEngine;
vs
javax.script.Engine;
我现在更喜欢每个例子中的名字,但额外的词似乎有点浪费。
答案 0 :(得分:6)
使用Actionscript作为示例,我会说FacebookClient over Client。出于这个原因:
import com.facebook.Client;
import com.twitter.Client;
您必须通过它的完整包来引用该类才能在同一个类中创建一个实例:
new com.facebook.Client();
如果是FacebookClient,我可以同时使用
new FacebookClient();
new TwitterClient();
当弹出代码完成时,Plus Client会让我烦恼。额外点击以选择正确的客户端;)
答案 1 :(得分:3)
我通常会选择以下内容:
[公司名称]。[项目名称]。[功能区]。[类别]
即
com.dave.megaproject.dataaccesslayer.postcodelookup
或.net世界:
namespace DaveFirm.MegaProject.DataAccessLayer.PostCodeLookup
答案 2 :(得分:0)
facebook域名是否有其他类型的客户端? javax.script域是否有其他类型的引擎?他们将来可能会想要吗?如果是这样,你需要一些东西来区分它们。否则可能浪费空间。
当然,未来几乎无法确定。
答案 3 :(得分:0)
我唯一需要补充的是你在C#中使用using
指令。如果你有两个具有相同方法名称的命名空间,如client
,则会出现混淆/混淆。
答案 4 :(得分:0)
在类名和文件名是一对一的语言中,无论包是什么,都要为namename设置类名的参数。我很多人按类名找到文件,方法是打开名为<class>.java
的文件或在IDE中使用“Quick Open”。决定你需要哪个Client.java
的精神障碍可能会让你感到烦恼,因为你很欣赏额外的命名。
并且,它使事情更容易阅读,并且它不像任何现代编辑器(例如vi或更高版本),您需要多次输入(有时甚至不是一次)。
答案 5 :(得分:0)
我每次都会使用FacebookClient样式的额外单词,因为名称的最小形式越具描述性,就越容易在多文件搜索中找到对该名称的引用。