-
1. *不容许把多个短语句写在一行中,即一行只写一条语句编辑器
1. 示例:以下例子不符合规范。布局
LogFilename now = null; LogFilename that = null;ui
应以下书写:this
LogFilename now = null;继承
LogFilename that = null;接口
2. *if, for, do, while, case, switch, default 等语句自占一行,且if, for, do, while等语句的执行语句不管多少都要加括号{}。get
示例:以下例子不符合规范。产品
if(writeToFile) writeFileThread.interrupt();it
应以下书写:io
if(writeToFile)
{
writeFileThread.interrupt();
}
3. *相对独立的程序块之间、变量说明以后必须加空行。
示例:以下例子不符合规范。
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
LogWriter writer;
应以下书写:
if(log.getLevel() < LogConfig.getRecordLevel())
{
return;
}
LogWriter writer;
int index;
4. *对齐只使用空格键,不使用TAB键。
说明:以避免用不一样的编辑器阅读程序时,因TAB键所设置的空格数目不一样而形成程序布局不整齐。
JBuilder、UltraEdit等编辑环境,支持行首TAB替换成空格,应将该选项打开。
5. *在两个以上的关键字、变量、常量进行对等操做时,它们之间的操做符以前、以后或者先后要加空格;
进行非对等操做时,若是是关系密切的当即操做符(如.),后不该加空格。
说明:采用这种松散方式编写代码的目的是使代码更加清晰。
因为留空格所产生的清晰性是相对的,因此,在已经很是清晰的语句中没有必要再留空格,
若是语句已足够清晰则括号内侧(即左括号后面和右括号前面)不须要加空格,多重括号间没必要加空格,由于在Java语言中括号已是最清晰的标志了。
在长语句中,若是须要加的空格很是多,那么应该保持总体清晰,而在局部不加空格。给操做符留空格时不要连续留两个以上空格。
示例:
(1) 逗号、分号只在后面加空格。
int a, b, c;
1.
(2) 比较操做符, 赋值操做符"="、 "+=",算术操做符"+"、"%",逻辑操做符"&&"、"&",位域操做符"<<"、"^"等双目操做符的先后加空格。
if (current_time >= MAX_TIME_VALUE)
a = b + c;
a *= 2;
a = b ^ 2;
1.
(3) "!"、"~"、"++"、"--"、"&"(地址运算符)等单目操做符先后不加空格。
flag = !isEmpty; // 非操做"!"与内容之间
i++; // "++","--"与内容之间
1.
(4) "."先后不加空格。
p.id = pid; // "."先后不加空格
1.
(5) if、for、while、switch等与后面的括号间应加空格,使if等关键字更为突出、明显。
if (a >= b && c > d)
-
命名规范:
1.包名采用域后缀倒置的加上自定义的包名,采用小写字母。在部门内部应该规划好包名的范围,防止产生冲突。
部门内部产品使用部门的名称加上模块名称。产品线的产品使用产品的名称加上模块的名称。
2.类名和接口使用类意义完整的英文描述,每一个英文单词的首字母使用大写、其他字母使用小写的大小写混合法。
3.方法名使用类意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其他字母小写的大小写混合法。
4. 方法中,存取属性的方法采用setter 和 getter方法,动做方法采用动词和动宾结构。
5.属性名使用意义完整的英文描述:第一个单词的字母使用小写、剩余单词首字母大写其他字母小写的大小写混合法。属性名不能与方法名相同。
6. 常量名使用全大写的英文描述,英文单词之间用下划线分隔开,而且使用 final static 修饰。
7.属性名能够和公有方法参数相同,不能和局部变量相同,引用非静态成员变量时使用 this 引用,引用静态成员变量时使用类名引用。
-
复杂度:
建议的最大规模:
继承层次 4层
类的行数 1000行(包含{})
类的属性 10个
类的方法 20个
类友好方法 10个
类私有方法 15个
类保护方法 10个
类公有方法 10个
类调用方法 20个
方法参数 5个
return语句 1个