命名软件和唯一性


20

在命名软件产品(应用程序或库)时,您要做什么?

选择一个其他软件尚未使用的名称似乎是不可能的,无论是某人的小型业余项目还是出售它的公司。我们都知道Phoenix成为Firebird成为Firefox,因为它与其他软件产品名称发生冲突。

名称必须有多独特?Phoenix是计算机BIOS的名称-与Web浏览器几乎没有,不是吗?作为反例,很高兴地将操作系统Fedora和存储库软件Fedora并存。另一个反例是Java框架midori和Web浏览器midori。

您将采取什么步骤来确保他人不使用您的应用程序或库的名称,以及在查找具有相同名称的其他内容时,从产品类型的角度来看,您会走多远?


17
恐怕您偶然发现了计算机科学中两个最困难的问题之一。
Rein Henrichs

3
和Midori美味的饮料
Brad

2
戴上软呢帽
Trezoid 2011年

2
凤凰显然是神话中的火鸟。更不用说Java与Java。
thomasrutter 2011年

1
我们不要忘记对金属进行镀铬,然后对Canidae家族中神话般,火红的成员进行火狐浏览。
Rein Henrichs

Answers:


16

名称的唯一性很重要,原因有以下三个:

  • 如果您使用在相同或相似市场中已经存在的产品名称,则该产品公司可以在某些国家/地区起诉您。示例:创建一个图形编辑程序并为其命名Photoshop

  • 如果您使用的名称已经被广泛使用,那么您将很难在Google或其他搜索引擎结果中排在前10位。示例:调用您的应用程序Agile

  • 如果两种产品或技术使用相同的名称,则会使用户感到困惑。例如:我的许多客户(技术背景很少)Java在谈论浏览器中网站的交互性时要求我编写代码)。

这三个原因意味着您不必在任何情况下都关心名字的唯一性。代替:

  • 确保名称不是由并发使用的。

  • 在选择产品之前,先搜索要用于产品的词,以确保您在Google中具有足够的知名度。示例:调用您的产品Agile不是一个好主意。致电您的产品Agile Mediaworks很好(即使这个名字很蠢),因为这个名字在Google和Bing中都没有结果。

  • 确保如果已经使用了相似的名称,则不会使用户感到困惑。Java/ JavaScript令人困惑。ASP/ ASP.NET也。

现在,如何选择一个名字?这里有一些建议:

  • 您可以在产品名称中使用品牌/公司的名称。但是,如果公司名称太长,请勿这样做。例子:Microsoft Word很好。Pelican Design & Development Criollo System Center很丑。

  • 不要害怕使用通用名称,但是不要使用直接术语来表达产品的含义。例子:Microsoft Excel很好。Microsoft Spreadsheet Application不是。

  • 请记住,如果长名称缩写得很好(可搜索的缩写),可以使用长名称Windows Presentation Foundation,又名 WPF还可以

  • 您可以使用花哨的名字一样神奇的生物(如:姓名Firefox),或特殊术语(在我的公司,我们用马品种很多:CampolinaCriollo System Center,等),或从神话的话(例如:我们的项目之一被称为Syrinx)等

  • 如果听起来不错,您也可以发明自己的名字。但是,如果您打算创建一种将销往世界各地的产品,请当心:某些听起来不错的英语单词却不是其他语言。顺便说一句,这也适用于常用词。示例:Bluewater品牌名称的发音与俄语中“呕吐”一词的发音方式相同。

总而言之,您似乎可以选择多种名称:通用名称,神话中的名称或除IT以外的特定领域使用的名称,包含品牌名称的名称,缩写良好的化合物名称等,而您不知道不必担心选择以前不存在的名称。您唯一需要关心的是不要在并发中使用已经使用的名称,而是选择一个易于搜索的名称,并且不要使用户感到困惑。


2

使用公司和(所需)产品名称的组合:

$ CompanyName $ ProductName

或者停止尝试使用常用词并更具创造力;)


2

请访问productionoss.org以获取帮助,但是总之,您可以尝试使用默认名称来描述项目的实际作用。OpenOffice是一个典型的例子。

如果您的名字必须是空洞的,那么请确保您的使命声明和描述突出。

尝试找到一个可以使用.net,.org或.com域的名称,并记住,在大多数情况下,如果您位于完全不同的字段中,则实际上可以使用与另一个“公司”相同的名称。


2

我的观点是,您应该选择一个具有强大“品牌”或潜力的品牌。您不希望太常见的东西,并且显然不想踩别人的名字,但是IMO您也不想采用“ Web 2.0”的方式来使用没有任何关系的奇怪名字与您的产品一起使用(尽管我想它现在已经很流行了),例如为任务应用程序命名类似“ Bluefrog”之类的奇怪东西,这会让普通人困惑一段时间,但值得一赌(看看Twitter或Hoptoad或类似)

我更喜欢使用实际传达应用程序的标准命名约定,以便在对话中提出它。您可以发挥创意,而不会听起来很荒谬。例如,如果我正在使用联系人管理应用程序,则可以将其命名为“ Virtudex”或“ Digidex”(虚拟/数字+ Rolodex-非常基本的示例,请不要过多地阅读它),但不想将其命名为“终极联系人管理器”,因为它是通用的,是放肆的(与谁“比较”?与什么相比?)


0

要确保您的应用程序名称唯一,您几乎无能为力。最明显的方法是为可执行文件使用一个很长的名称,但是很少这样做。

图书馆要变得独特起来要容易得多。就像Pierre所说的,您可以使用公司名称和产品名称的组合。如果愿意,可以更进一步:CompanyName :: ProductRange :: ProductName :: CodeNamespaceLevel1:Level2

与开放空间项目相比,对于商业产品,名称冲突的可能性较小。我认为您不必为此烦恼太多。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.