如果我没有与我相关的域名,我该如何命名包裹?

时间:2008-10-03 09:12:58

标签: java namespaces packages

因此,在谈到软件包时,大多数Java资源都提到com.yourcompany.project设置。但是,我不为公司工作,也没有网站。是否有常见的命名约定?也许是一个电子邮件地址?

10 个答案:

答案 0 :(得分:18)

使用像'bernard'这样的顶级域名或其他独特的域名。重要的一点是,域名是唯一的,以便您避免冲突,而不是从一个真正的互联网顶级域名(如org或com)开始。 E.g。

import java.util.*;
import bernard.myProject.*;
import org.apache.commons.lang.*;

答案 1 :(得分:5)

为什么不注册域名?

它们相当便宜,这样做可以保证你不会与其他任何人发生冲突(或者至少让你满意的是,如果确实发生了冲突,那么另一个人就必须重写他们的代码)。

您可以注册自己的名字,也可以尝试填写一个名称,以便日后作为商家的基础。

  • bernard.surname.net
  • madeupname.net

每年花费不到10GBP。

就个人而言,我会选择名称化的方法,因为它可能看起来更专业(除非你选择一些非常奇怪的东西)。

另一个优势是很多域都会附带电子邮件功能,为您提供比bernard.surname@hotmail.com更好的电子邮件地址。

答案 2 :(得分:5)

如果您创建一个开源项目,可以使用Sourceforge注册它并使用net.sourceforge.myproject。这在许多Java项目中很常见。一个例子是PMD http://pmd.sourceforge.net/

答案 3 :(得分:4)

web上找到关于此主题的好建议:“使用您的电子邮件地址开始您的软件包名称,反之。[...]或者,在一个可以提供给您的网站上托管您的代码切片他们的域名。“

答案 4 :(得分:4)

请注意,“反向域名”只是一种惯例:很有用,因为如果每个人都喜欢冲突,它肯定会避免冲突,但你不必遵循它。

只需选择一个您可以合理确定其他人不会使用的名称,以及未被任何人注册为商标的名称 - 因为这是您实际遇到法律麻烦的一种方式。

这意味着使用您正在使用的免费服务的某种“子域”实际上是一个相当糟糕的主意,例如deviantart或dyndns或免费邮件服务!因为这些域中的大多数(如果不是全部)都是商标用语,并且如果您的项目得到广泛分发,则可能被视为违反商标。仅仅因为它们允许您将该名称用作电子邮件地址(或其他任何内容)并不意味着您可以将其用于其他任何事实 - 事实上,他们的EULA几乎肯定会将使用限制在一个目的之内。

答案 5 :(得分:2)

您还可以做的是通过DynDns(或其中一个等价物)之类的服务注册域(实际上是子域),然后使用该域名。您将是唯一的控制器,它免费且易于维护。目前,他们可以选择88个顶级域名(2008年10月)。 dyndns dynamic dns service

答案 6 :(得分:0)

对于我自己的个人工作,当我没有命名空间时,我会选择像org.<myname>.*这样的简单

答案 7 :(得分:0)

我曾经在几家不同的公司写过家庭java课程。通常它们只是com.blah.blah.blah,而不考虑它背后是否存在实际的域名。

答案 8 :(得分:0)

恕我直言,最好不要依赖任何外部信息,例如托管服务提供商或公司(可能会发布到开源社区),因为不太需要打包级别的重构,特别是在框架的情况下和图书馆。我建议您仔细,明确地选择项目名称,然后使用组织。&lt; project name&gt;作为根包。

答案 9 :(得分:0)

许多人拥有自己的网站和相对独特的名称(或登录名)。

如果你的名字是Bernard Something,你可能拥有BernardSomething.com, 使com.bernardsomething.xxxx(或com.bsomething.xxx)成为个人代码的合法包名IMHO。

话虽如此,如果您的项目名称是唯一的,您可能希望在此之后命名该包。

当然,如果你还没有拥有它,请在你的名字后面获取域名!