我自恋的把这个开发规范命名为玉走刀口:玉石经过刀口才能变成美玉,代码也是如此
Android开发规范
打包规范
- 版本号:时间戳(精确到分钟)
- 举例:
201607011230
- 举例:
- 版本名:大版本.中版本.小版本.测试版本(注:应用中集成开发者选项,因此不再有正式版和测试版)
- 举例:
1.2.3.201607011230_channel
- 举例:
1.2.4.201607011230_channel
- 举例:
- 确认:todo
- 确认:混淆测试通过
- 确认:Switch开关:开发者模式默认初始化
- 确认:线上小版本为偶数,线下小版本为奇数。
- 确认:更新文档
- 确认:所有渠道包打开
SVN/GIT规范
- 先更新再提交
- 模块化提交
- 不提交编译不通过
- 不提交本地生成
- 慎用锁定功能
- 标注格式:【需求号-需求标题】-FUN/BUG/VER-子需求标题-详细描述
- 举例:【0001-账号体系】-FUN-登录-接口调试成功
- 举例:【0001-账号体系】-VER-1.1.0发版
- 不提交测试数据
命名
- Java变量:驼峰标记法
- 控件变量:匈牙利标记法(控件变量名跟控件id相同)
- 布局文件:一个功能模块的的前缀一定要相同
- 通用布局:可以以lib或者common开头
- 图片:按照【组件效果颜色形状功能】顺序来
- 点击反转色:组件selector颜色A_颜色B_形状_功能
- 点击加深色:组件selector默认形状功能
- 背景色:bg_颜色_形状
- selector:根据情况处理
press/select/focus/enable/checkable/
等情况
长度
- 图片大小是8的倍数:1616 2424 3232 4848 6464 7272 9696 128128
- 请移步:demo for dimens.xml
代码
- 数字默认值0或者-1,字符串默认值""
- GSON异常处理
- 简单易懂的异常处理
- 复杂产品逻辑,尽量在简单易懂的原则下,用if...else...分支,不提倡精巧代码
- for...和foreach...斟酌使用
- 常用TODO备忘://TODO temp|add|update|delete|overwrite|future|debug|test
- 一个方法尽量控制在40-60行以内,因为这是我们人眼能扫到的最大面积,以及一张屏幕适应的面积。这一眼扫去就好像是电脑的最快一级缓存
- 方法内不同模块用空行分割
颜色
一个设计规范并且标准的应用,会是一个基本统一的色系。
色彩知识小课堂
- 三基色:红、绿、蓝(RGB)
- 三原色
- 光学(加法)三原色:红、绿、蓝(RGB)
- 颜料(减法)三原色:黄、品红、青
- 中间色:凡是处在两个相对的色彩关系中间的色,统称为中间色
- 互补色:
- 光学:以适当的比例混合而能产生白光时
- 颜料:在混合后会变成褐色或灰色
- 12色环:
-
光学12色环(色相环):以红、绿、蓝(RGB)为基础的光学互补色
-
伊登12色环(色相环):以红、黄、蓝为基础的颜料互补色
-
24色相环:以红、绿、蓝为基础的颜料互补色
-
Android色彩规范
由于颜色太多,因此,我们只使用应用中的色系。因此这里要求UI设计一定要规范。我们约定如下
- 所有颜色值使用8位十六进制表示(前2位代表透明度,后6位代表RGB)
- 基本颜色范围:透明、黑、白、灰、红、橙、黄、绿、蓝、紫
- 灰色5种范围
- 红、橙、黄、绿、蓝、紫 每一个颜色三种
- 可动态添加应用需要的颜色(如棕色,粉色,靛色)
- 基本色值根据自己应用的颜色进行更改
- 应用色值全部使用基本色值(没有则自定义,如棕色,粉色,靛色)
- 基本色值一旦根据应用色系确定以后,就不再改变