团队编程规范
目录:我的笔记
以下内容多参考与阿里巴巴Java开发手册, 基本为行业共识.
代码格式
【强制】大括号的使用约定。如果是大括号内为空,则简洁地写成{}即可,不需要换行;如果 是非空代码块则:
左大括号前不换行。
左大括号后换行。
右大括号前换行。
右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行。
例子
int mian(){
//do someting...
if (a == b){
//do someting
}else{
//do someting...
}
return 0;
}
void function(){
//do someting
}
2. 【强制】 左小括号和字符之间不出现空格;同样,右小括号和字符之间也不出现空格。详见 第 5 条下方正例提示。
1. `反例:if(空格 a == b 空格)`
2. `正例:if(a == b)`
2. 命名规范
1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。
1. 反例:`_name / __name / $Object / name_ / name$ / Object$`
2. 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。 说明:正确的英文拼写和语法可以让阅读者易于理解,避免歧义。注意,即使纯拼音命名方式 也要避免采用。
1. 正例:`alibaba / taobao / youku / hangzhou 等国际通用的名称,可视同英文。`
2. 反例:`DaZhePromotion [打折] / getPingfenByName() [评分] / int 某变量 = 3`
3. 【强制】方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,必须遵从 驼峰形式。
1. `正例: localValue / getHttpMessage() / inputUserId`
4. 【强制】类名使用 UpperCamelCase 风格,必须遵从驼峰形式,但以下情形例外:DO / BO / DTO / VO / AO
1. `正例:MarcoPolo / UserDO / XmlService / TcpUdpDeal / TaPromotion `
2. `反例:macroPolo / UserDo / XMLService / TCPUDPDeal / TAPromotion`
5. 【强制】常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
1. `正例:MAX_STOCK_COUNT `
2. `反例:MAX_COUNT`
6. 【强制】杜绝完全不规范的缩写,避免望文不知义。
1. `反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写”命名成 condi,此类随 意缩写严重降低了代码的可阅读性。`
7. 【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,使用尽量完整的单词 组合来表达其意。
1. `正例:从远程仓库拉取代码的类命名为 PullCodeFromRemoteRepository。 `
2. `反例:变量 int a; 的随意命名方式。`
3. 常量定义
1. 【强制】long 或者 Long 初始赋值时,使用大写的 L,不能是小写的 l,小写容易跟数字 1 混 淆,造成误解。
1. ` 说明:Long a = 2l; 写的是数字的 21,还是 Long 型的 2?`