1.4 项目命名规范
“There are only two hard problems in Computer Science: cache invalidation and naming things.” ——Phil Karlton
命名是一项艰难而重要的任务,在Quora上也是经久不衰的好问题,按照如下的一些基本规则来进行命名,会帮助团队建设清晰而又精炼的项目结构:
基础命名法则:
基础的命名方式参考 github 和 gitlab 的多数项目,适用小写+中划线命名法(lowercase and dashes pattern)。 eg: 项目命名为
project-name
,很显然你要同步的git地址也会是http://the.git.address/group-name/project-name.git
;
项目仓库(repository)通用命名法则:
所有项目(repository)应根据自己提供的功能进行可以理解的清晰的描述,除非必要,一般使用名词单数。 eg:使用
purchase-rest-service
而不使用rest-service
的描述;尽可能的避免使用大家不能理解的缩写、简写等。eg:不要使用
xxx-pom-xxx
之类的神秘词语进行描述;所有的业务产品线相关的项目(repository)在建立仓库时,需要带上相应产品线名称的前缀。eg: 商业平台的广告投放命名为
biz-demand-side-service
;
微服务项目仓库(repository)的命名法则:
关于微服务的项目命名应以
-service
为后缀,来声明一个服务,不要以-server
或者-platform
或者-api
这样宽泛的名词来进行描述。eg:内容管理的服务以content-mangement-service
描述;
客户端项目仓库(repository)的命名法则:
不同源的客户端统一以
-client
为后缀描述,由于平台的不同,可以通过叠加-client-{platform}
来完善描述。 eg:Web端以-client-web
描述;,同样根据项目的颗粒度,更详尽的描述如-client-wechat
、-client-mobile
、-client-ios-ipad
也在允许范围之列。
工具脚本类项目仓库(repository)的命名法则:
有些工具类的项目(repository)可能会根据其类型,在命名中通过
-plugin
、-toolkit
或者-script
后缀显示,这类项目以 测试运维相关 的居多。同样其用途或者适用场景可以在明明最后叠加-{usage}
。 eg: jira打包工具publish-toolkit-for-jira
;
完整项目仓库(repository)的命名法则:
有些项目因为其规模不大,其仓库包括前后端甚至一些脚本工具,适用与直接描述系统或者业务名称,这里有很多很好的案例,可以直接使用项目名称如
biz-intelligence
或者oss-data-manager
;
其它注意事项或者案例(待完善):
一些案例的命名:
-sample-{usage}/{platform}
;一些开发工具包的命名:
-sdk-{usage}/{platform}
;
最后更新于
这有帮助吗?