【问题标题】:Namespace naming for general Purpose libraries - Personal or Company name? [closed]通用库的命名空间命名 - 个人或公司名称? [关闭]
【发布时间】:2012-01-13 12:51:55
【问题描述】:

我目前正在编写一些包含常用帮助类的通用 .net 库。 比如处理字符串加密/解密、保存到配置文件等...

现在,我是我所在公司的唯一开发人员,而且看起来不会很快改变:所以我不会“窃取”任何人的代码。 不过,我很可能会在某个时候离开公司。

与大多数开发人员一样,我很可能希望在我的新公司中重用这些随着时间推移而构建的库,因为它们包含与公司无关的代码。

如果我以当前公司的名字命名它们,我将需要更改命名空间并重新编译所有新库,如果它们的数量很大,这可能会非常耗时且容易出错。

我还想将这些库用于一些个人项目,并在我的业余时间扩展它们并从事这些项目。

虽然以我的名字命名它们似乎非常以自我为中心。如果我加入了一家新公司,我想我不希望在几乎所有的代码文件中都有之前开发者的名字。

另一方面,像“Common.Library”这样的东西似乎有点太笼统了。

我想知道你们开发人员相对经常更换公司是如何解决这个问题的? 作为唯一的开发人员,我在代码设计决策方面非常灵活,但我仍然希望尊重最佳实践并为我的继任者提供体面的代码库。

PS:我已经和我的老板核实了 IP,只要我重用的代码不包含业务逻辑,他们不介意,所以请保持 cmets/answers 技术性而非合法性。

【问题讨论】:

  • 如果没有 IP 问题,那么您可以随意称呼他们。
  • 确实,但我觉得我也应该从可能会来找我的人的角度考虑事情......众所周知,当我们在一家新公司开始并且必须接管一个现有的代码库,有各种各样的事情可以让我们无休止,我更愿意尝试成为一个好公民。
  • 还是没关系的。必须有一个命名空间,对于追随你的人来说,这只是他们必须学习的另一件事。 什么命名空间的区别很小。
  • 不要浪费太多时间为此绞尽脑汁。将其命名为您想要的任何名称并完成它。比选择完美名称更重要的是choosing a reasonably short name。命名空间的主要目的是提供唯一性,以防止您的代码与其他代码发生冲突。

标签: .net namespaces naming-conventions


【解决方案1】:

如果我以当前公司的名字命名它们,我将需要更改命名空间 [...]

如果没有 IP 问题,您就不会真的需要更改它。在这种情况下,这将完全取决于您的个人喜好。

我发现这种情况就像使用任何其他第三方库一样,即使它的许可证允许您更改其来源。只要您以后可以重用此代码库,命名空间命名将完全是次要的恕我直言。

【讨论】:

    【解决方案2】:

    您的问题没有一般性的答案。
    如果您不想在图书馆中使用您的全名,为什么不直接使用您的姓名首字母?

    类似kd.Common.Library

    【讨论】:

    • 命名空间的通常命名约定是使用帕斯卡大小写(以防 OP 决定采用这种方法)。在这种情况下,KD.Common.Library 似乎更合适。
    • 我知道,但我不喜欢Kd.Common.LibraryKD.Common.Library 的样子。与整个问题一样,这纯粹是个人喜好问题......
    • 感谢您的建议,我也已经考虑过...问题是使用首字母似乎仍然不合时宜且以自我为中心。另外,下一个追随我的开发者可能会想知道 KD 是什么意思……我确实可以随心所欲地命名它们,但我也想从“下一个开发者”的角度来看待事情……
    • @KharlosDominguez:这个问题没有答案。做任何适合你的事!
    • @KharlosDominguez:我不会这样做,因为这太笼统了,您可能会遇到其他库的问题。
    猜你喜欢
    • 1970-01-01
    • 2012-06-30
    • 2014-05-21
    • 2011-07-30
    • 2019-06-20
    • 2011-03-03
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多