是否存在git存储库的命名约定?

Adr*_*n M 294 git github naming-conventions

例如,我有一个名为Purchase Service的RESTful服务.我应该命名我的存储库吗?

  1. purchaserestservice
  2. purchase-rest-service
  3. purchase_rest_service
  4. 或者是其他东西?

惯例是什么?在github怎么样?公共回购应遵循一些标准吗?

Aar*_*lla 326

我会去的purchase-rest-service.原因:

  1. 什么是"pur chase reststs ervice"?冗长的连词很难理解.我知道,我是德国人."Donaudampfschifffahrtskapitänspatentausfüllungsassistentenausschreibungsstellenbewerbung."

  2. "_"比" - "更难打字

  • 我(真的)不明白,但是你不想念一个......在......奥地利...... (127认同)
  • @ 10gistic repo名称经常出现在URL(例如github)中,可能不区分大小写甚至转换为小写,因此camelCase是个坏主意.我不认为github这样做,但似乎仍然更好保存. (27认同)
  • GitHub中的人使用连字符.http://habrastorage.org/getpro/habr/post_images/d34/331/a8d/d34331a8d0a6f47b983a1a9d79845b03.png (18认同)
  • @adimauro:这是一个申请,作为助理填补多瑙河轮船船长专利的形式. (6认同)
  • 你不喜欢camelCase的任何特殊原因?这是我的常用项目命​​名约定,因为它不使用特殊字符. (6认同)
  • 当您在BitBucket上创建新的存储库时,它将在URL中将名称转换为带连字符的小写字母数字,同时在帐户数据中保留原始(大写/小写,空格等)。例如,“ JIRA问题摘要约定插件”变为https://bitbucket.org/melias/jira-issue-summary-conventions-plugin (2认同)
  • 这是一份公告(“ausschreibung”)的申请(“stellen-bewerbung”),该公告寻找一名助手来填写(“ausfüllungs-assistant”)船长专利(“kapitäns-patent”)来运行蒸汽船(“dampfschiff-”) fahrt”)在多瑙河(“Donau”)上。 (2认同)
  • 所以,我们应该遵循“kebab-case” (2认同)
  • 但“-”比“_”更难复制(只需双击即可)。 (2认同)

小智 61

驼峰案例的问题在于词语经常有不同的解释 - 例如,checkinService vs checkInService.与Aaron的答案一致,如果您有许多类似名称的回购,必须不断检查创建您关注的回购的人是否使用了大小写的某些细分,自动完成是很困难的.避免大写.

关于破折号的观点也是明智之举.

  1. 使用小写.
  2. 用破折号.
  3. 请明确点.您可能会发现以后必须区分类似的想法 - 即使用购买 - 休息 - 服务而不是服务或休息服务.
  4. 始终如一.考虑来自各个GIT供应商的使用情况 - 您希望如何对存储库进行排序/分组?

  • 你的答案涉及顶级答案没有的两个重要问题. (3认同)
  • @BenAveling 实际上没有。看来驼峰大小写更容易正确阅读。https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.158.9499&rep=rep1&type=pdf (3认同)
  • 与忘记是checkinService还是checkInService相比,如何更好地忘记它是checkin-service还是check-in-service? (2认同)

Den*_*nis 41

lowercase-with-hyphens 是我经常在GitHub上看到的风格.*

lowercase_with_underscores 可能是我看到的第二个最受欢迎的风格.

前者是我的首选,因为它可以节省击键次数.

*轶事; 我还没有收集任何数据.

  • 连字符也有SEO优势.这可能不是主要的考虑因素,但由于我们谈论的是URL,因此它是相关的. (7认同)
  • 连字符还有另一个优点:它们更容易在带下划线的超链接中发现(下划线可能很容易被误认为是空格). (7认同)
  • 正如你提到的,很难收集数据,但我去了 https://github.com/trending/developers,只看到了之前提到的样式:```小写-带-连字符``` (2认同)

Von*_*onC 19

如果不支持任何特定的命名选择,请记住可以将git repo克隆到您选择的任何根目录中:

git clone https://github.com/user/repo.git myDir
Run Code Online (Sandbox Code Playgroud)

这里repo.git将被克隆到myDir目录中.

因此,即使您的公共回购的命名约定最终稍微不正确,仍然可以在客户端修复它.

这就是为什么在任何客户端可以做任何他/她想做的事情的分布式环境中,没有真正的Git repo的命名约定.
(除了储备" xxx.git"为回购"的形式xxx")
有可能是REST服务的命名规则(类似于' 是否有REST API的?任何命名约定指引 ’),但这是另外一个问题.

  • 好点子.但是,在客户端修复repo名称有点证明具有命名约定会有所帮助.你不觉得吗?如果它首先遵循惯例,为什么要修复它?也许maven对我影响很大. (3认同)
  • @Jonasappelgran 一般来说,(非裸)Git 存储库可以克隆到 git 文件夹中,专用于所有 Git 存储库。但是 *bare* 存储库文件夹按照旧约定以 `.git` 结尾(请参阅“[介绍 `is_bare_repository()` 和 `core.bare` 配置变量](https://github.com/git/git/commit/ 7d1864ce67d83485cf5cbc8c90fc170ee884ef16))": "如果它是 `".git"` 或以 `"/.git"` 结尾,那么它看起来不像一个裸存储库,否则它就是”。但这只是一个约定。您可以采用对您有意义的一种。 (2认同)

Ste*_*veW 7

也许这只是我的Java和C背景显示,但我更喜欢CamelCase(CapCase)而不是名称中的标点符号.我的工作组使用这样的名称,可能与存储库包含的应用程序或服务的名称相匹配.

  • Pedantic公共服务公告:PascalCase不是camelCase。 (4认同)
  • 这篇文章很少,这不是我个人的偏好,但他仍然提到一个好处,Java中的项目名称是骆驼案例,并且在一致性方面有一些安慰.我们是否确定这里的投票不仅仅是一个命名偏见? (3认同)
  • 同意。其他答案讨论了camelCase的缺点,但在Java世界中,无论如何决定camelCase更好是完全合理的......特别是对于对Windows世界一无所知的项目。 (2认同)
  • @MarredCheese 我公司里有一个人坚持称其为“上骆驼案”,我想把午餐扔给他。 (2认同)

Ada*_*dam 7

如果您计划创建一个 PHP 包,您很可能希望将其放入Packagist中,以便其他使用 Composer 的人可以使用它。Composer 有 as命名约定来使用vendorname/package-name-is-lowercase-with-hyphens

如果您打算创建 JS 包,您可能需要使用 npm。他们的命名约定之一是不允许在包名称中间使用大写字母。

因此,我建议 PHP 和 JS 包lowercase-with-hyphens在 Composer 或 npm 中使用和命名与 GitHub 上的包相同的名称。