代码命名规范
包命名规范
采用反域名命名规则,全部使用小写字母。一级包名为com,二级包名kl(为公司名称,可以简写),三级包名pos(根据应用进行命名),四级包名activity或adapter等(模块名或层级名),根据实际情况也是可以用五级包名,六级包名。例如:com.kl.pos.activity | com.kl.pos.adapter
特殊项目命名规范
可以在已有规范基础上,添加固定项目前缀,如kl项目,Activity可改为KlLoginActivity,Layout布局为kl_activity_login。以防止引用此特殊项目,查找文件时候同名文件多,修改维护成本大。
Class文件命名方式
Activity 命名一律使用 模块名+Activity 的方式。例如: LoginActivity、UserActivity。
Fragment 命名一律使用 模块名+Fragment 的方式。例如: HomeFragment 、 WeatherFragment。
自定义View 功能名+View/ViewGroup(具体的组件名称)。例如:WhiteLayout、RatingView.
Widget组件 功能名+Widget。 例如:ScanWidget、WeatherWidget。
Dialog对话框 功能名+Dialog。例如:LoginDialog、ProgressDialog。
Adapter 命名一律使用 模块名+Fragment 的方式。例如: HomeAdapter、 WeatherAdapter.
Layout命名
Activity activity_模块名。例如 R.layout.activity_login
Fragment fragment_模块名。例如 R.layout.fragment_login_layout_header
Include layout_模块名_功能名。例如 @layout/layout_login_bottom
Adapter item_模块名_功能名。例如 R.layout.item_simple_text
Dialog dialog_模块_功能名。例如 R.layout.dialog_time_picker
Values资源文件命名
color color_模块名。例如 color_material_design
dimens dimens_模块名。例如 dimens_material_design
style style_模块名。例如 style_material_design
themes themes_模块名。例如 themes_material_design
strings strings_模块名。 例如 strings_meatrial_design 其他模块以此类推
接口命名规范
命名规则与类一样采用大驼峰命名法,多以大写的I(interface缩写)开头或者able或ible结尾,如interface Runnable ;interface Accessible 。或者参照类似 Android接口。如点击事件 OnClickListener等。
变量命名
成员变量采用小驼峰命名法 userName deviceName。
常量命名
字母全部大写,单词之间用下划线_隔开。关于常量的命名方法,在JAVA代码中,无论什么时候,均提倡应用常量取代数字、固定字符串。也就是 说,程序中除0,1以外,尽量不应该出现其他数字,如果0和1能够被取代,也是不允许出现的。常量可以集中在程序开始部分定义或者更宽的作用域内,名字应该都使用大写字母,并且指出该常量完整含义。如果一个常量名称由多个单词组成,则应该用下划线“_”来分割这些单词如:NUM_DAYS_IN_WEEK、MAX_VALUE。
分支命名规则
-
分支前缀-版本号-功能
-
分支前缀必带,master、develop分支无需携带版本号,主release分支无需携带功能信息
分支前缀规则
分支 | 描述 | 是否是保护分支 |
---|---|---|
master | 主分支 | 是 |
develop | 主开发分支 | 是 |
release | 发布分支 | 是 |
feature | 功能分支 | 否 |
hotfix | bug修改分支 | 否 |
chore | 增加构建、自动化、脚本化配置分支 | 否 |
分支关系流程图
分支操作流程
新功能
-
从develop分支切出,命名为 feature-版本号-功能
-
KL项目代码提交必须携带任务号或者bug号
-
功能开发完毕交付测试人员进行测试
-
测试通过merge入develop分支,勾选删除原分支
功能bug修复
-
从develop分支切出,命名为 hotfix-版本号-功能
-
KL项目代码提交必须携带任务号或者bug号
-
bug修复完成交付测试人员进行测试
-
测试通过merge入develop分支,勾选删除原分支
版本发分支准备
-
从develop分支切出,命名为 release-版本号-功能
alpha版本:命名为release-版本号-alpha 比如:release/2.2.0-alpha
beta版本:命名为release-版本号-beta 比如:release/2.2.0-beta
正式上线版本:命名为release-版本号 比如:release/2.2.0 -
修改版本号、切服等基础步骤后,提交代码并附加任务号
-
在发版之前,合并到master分支并打tag
-
走版本发布流程
分支删除规则
-
合并到develop后的分支要及时删除
-
主release分支不可以删除
-
如果当前分支要延后到指定版本上线,要及时修改分支版本号,对于过期的版本及时清理