代码规范和团队协作规章

好的开发习惯,可以帮助我们和团队走的更远

代码规范

Java规范:

一、自定义标识符

1、标识符的细节

① 标识符的组成元素是由字母(a-zA-Z)、数字(0-9) 、下划线(_)、美元符号($)

② 标识符不能以数字开头

③ 标识符是严格区分大小写的

④ 标识符的长度是没有长度限制的

⑤ 标识符的命名一般要有意义(见名知意)

⑥ 关键字、保留字不能用于自定义的标识符

2、标识符的规范

① 类名和接口名单词的首字母大写,其他单词小写(SunTime)

② 变量名与方法名首单词全部小写,其他单词首字母大写,其他单词都要小写 [ doCook() ]

③ 包名全部单词小写

④ 常量全部单词大写,单词与单词之间使用下划线分隔(UP_LENGTH)

3、判断一下那些是符合的标识符

① 12abc_ [不合法。数字不能开头]

② _12abc [合法]

③ $ab12# [不合法。#号不属于标识符组成元素]

④ abc@123 [不合法。@号不属于标识符组成元素]

二、注释

1、注释的类别

第一种: 单行注释 // 注释的内容

第二种: 多行注释 /* 注释的内容 */

第三种: 文档注释 /** 注释的内容 */ 文档注释也是一个多行注释

注意:单行注释可以嵌套使用,多行注释是不能嵌套使用的

2、多行注释与文档注释的区别

多行注释的内容不能用于生成一个开发者文档,而文档注释的内容可以生产一个开发者文档。

3、使用javadoc开发工具即可生成一个开发者文档

使用格式:javadoc -d 指定存放文档的路径 -version –author(可选) 目标文件

注意细节:

① 如果一个类需要使用javadoc工具生成一个软件的开发者文档,那么该类必须使用public修饰

② 文档注释注释的内容一般都是位于类或者方法的上面的

③ @author 作者 @version 版本 @param 方法的参数 @return 返回值

4、规范:一般单行注释是位于代码的右侧,多行注释与文档注释一般是写在类或者方法的上面的。

Android规范

一: 开发注意事项

1:属性,变量,方法,对象,驼峰式命名,根据用途定义名称,优先用英文,次则中文拼音,不要出现数字填充命名
2:代码要做到重用,复用,尽量不要写重复的代码
3:方法和对象要有注释说明
4:项目需要国际化的,其中涉及到中文的,必须写在配置文件中
5:项目代码里面不要出现原生Log打印

二、Android 资源文件命名与使用

1. 【推荐】资源文件需带模块前缀。
2. 【推荐】layout 文件的命名方式。
Activity 的 layout 以 module_activity 开头

Fragment 的 layout 以 module_fragment 开头

Dialog 的 layout 以 module_dialog 开头

include 的 layout 以 module_include 开头

ListView 的行 layout 以 module_list_item 开头

RecyclerView 的 item layout 以 module_recycle_item 开头

GridView 的行 layout 以 module_grid_item 开头
3. 【推荐】 drawable 资源名称以小写单词+下划线的方式命名,根据分辨率

不同存在不同的 mipmap目录下,建议只使用一套,例如 mipmap-xhdpi。

采用规则如模块名业务功能描述控件描述_控件状态限定词 如:module_login_btn_pressed,module_tabs_icon_home_normal

4. 【推荐】anim 资源名称以小写单词+下划线的方式命名,

采用以下规则: 模 块名逻辑名称[方向|序号]

tween 动画资源 : 尽可能以通用的动画名称命名,
如  module_fade_imodule_fade_out , module_push_down_in (动画+方向);

frame 动画资源:尽可能以模 块+功能命名+序号。如:module_loading_grey_0
5. 【推荐】 color 资源使用#AARRGGBB 格式

写入 module_colors.xml,文件名格式采用以下规则: 模块名逻辑名称颜色 如: #33b5e5e5

6. 【推荐】dimen 资源以小写单词+下划线方式命名

写入module_dimens.xml 文件中采用以下规则: 模块名_描述信息 如: 1dp

7. 【推荐】style 资源采用小写单词+下划线方式命名

写入module_styles.xml 文件中采用以下规则: 父 style 名称.当前 style 名如:

8. 【推荐】string资源文件或者文本用到字符需要全部写入

module_strings.xml文件中字符串以小写单词+下划线的方式命名,采用以下规则: 模块名_逻辑名称 如:moudule_login_tips,module_homepage_notice_desc

9. 【推荐】Id 资源原则上以驼峰法命名

View 组件的资源 id 需要以 View 的缩写作前缀。常用缩写表如下: 控件 缩写

LinearLayout ll

RelativeLayout rl

ConstraintLayout cl

ListView lv

ScollView sv

TextView tv

Button btn

ImageView iv

CheckBox cb

RadioButton rb

EditText et

二、Android 资源文件命名与使用

其它控件的缩写推荐使用小写字母并用下划线进行分割,例如: ProgressBar 对应的缩写为 progress_bar DatePicker 对应的缩写为 date_picker

【推荐】大分辨率图片(单维度超过 1000)大分辨率图片建议统一放在 xxhdpi

目下管理,否则将导致占用内存成倍数增加。 说明: 为了支持多种屏幕尺寸和密度,Android 为多种屏幕提供不同的资源目录进行适配为不同屏幕密度提供不同的位图可绘制对象,可用于密度特定资源的配置限定符下面详述) 包括 ldpi(低)、mdpi(中)、 hdpi(高)、xhdpi(超高)、xxhdpi 超高)和 xxxhdpi(超超超高)。例如,高密度屏幕的位图应使用 mipmap-hd根据当前的设备屏幕尺寸和密度,将会寻找最匹配的资源,如果将高分辨率图片入低密度目录,将会造成低端机加载过大图片资源,又可能造成 OOM,同时也是源浪费,没有必要在低端机使用大图。 正例: 将 144144 的应用图标 PNG 文件放在 mipmap-xxhdpi 目录 反例: 将 144144 的应用图标 PNG 文件放在 mipmap-mhdpi 目录

三:其它规范

间距规范
一栏上边距24dp

普通大间距16dp

分割线0.5dp

中框左右边距16dp

文字上下边距4dp

左右边距8dp

默认view高度48dp

区域分割线8dp

字体排版:

大标题34sp

标题20sp

副标题16sp

正文14sp

辅助信息12sp

提示文字7sp

按钮文字14sp

常用字号:

12sp: 小字提示

14sp(桌面端13sp): 正文/按钮文字

16sp(桌面端13sp):小标题

20sp: AppBar文字

24sp: 大标题

34sp/45sp/56sp/112sp/超大号文字

所有可操作元素最小点击区域尺寸:48dp*48dp

栅格系统的最小单位是8dp,一切距离,尺寸都应该是8dp的整数倍,以下是一些常见的尺寸与距离:

·顶部状态栏高度:24dp

·AppBar最小高度:56dp

·底部导航栏高度:48dp

·悬浮按钮尺寸:56*56dp/40*40dp

·用户头像尺寸:64*64dp/40*40dp

·小图标点击区域:48*48dp

·侧边抽屉到屏幕右边的距离:56dp

·卡片间距:8dp

·分割线上下留白:8dp

·大多数元素的留白距离:16dp

·屏幕左右对齐基线:16dp

·文字左侧对齐基线:72dp

团队协同开发规章

一:事先约定

约定绝对是提高团队协作最有用的方式之一。大家先约定好一些规则,然后接下来各自干各自的,并且遵循着这个约定,这样便大大提高了效率。 一个项目可以约定的东西有很多,比如约定一种 分支策略,约定一种代码风格(通过 eslint 插件来执行),约定接口文档等等。

1:统一工具和版本

“工欲善其事必先利其器”,统一团队成员开发工具和依赖插件版本是一件非常重要的事情,可以避免后期大量的项目合并问题。减少项目开发周期。

2:命名约定

命名冲突是开发过程中常见的一个问题,特别是在多人协作开发的项目中。团队协作开发一般会以模块进行进行划分,在命名时,可以通过加上模块名称作为前缀或者后缀,可以避免大部分的命名冲突问题,大大提示团队开发的效率。

二:统一管理

1:善用代码版本管理工具

在团队开发过程中,必须约定每日统一上传合并代码,每个团队成员必须单独创建一个分支进行开发,自测试通过后再合并到主分支上,这样可以避免后期花费大量的时间排查和解决问题。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351