Java代码规范
2015-12-11 14:28
489 查看
1,排序:声明置顶,public,static,const同类置前;
2,TAB:替换为4个空格:避免不同编辑器对TAB处理差异;
3,空行: 1,类与接口声明;
2,两个方法;
3,一个方法的两个逻辑块
4,除非右大括号”}”紧随右大括号或者文件结束,否则添加一个空行
4,换行: 1,逗号后
2,操作符(优先较高级别)前 +号在前(有*号的时候),||号在前
3,新的一行应该与上一行同一级别表达式的开头处对齐
5,空格: 1,参数列表逗号后面
2,二元操作符两边;一元操作符无需加.如-,++等
3,for语句表达式
4,强制转型后!!!
ctrl+shilt+f
ctrl+shilt+o
命名:
骆驼(camel)命名:变量,方法
帕斯卡(pascal)命名:类
名词或名词词组,完整单词,url除外。
接口命名:I开头,如:IComparable、Iserializable
抽象类:Abstract开头,如:AbstractDriver、AbstractMessageProcessor
模式:以完整模式名结尾 LoginAdapter、HttpClientFactory
异常:Exception结尾BadRequestException、InternalErrorException
常量:应该全部大写,单词间用下划线隔开 public static final int MIN_WIDTH = 4;
缩略词的使用(3个为界)
长度小于等于 3 的缩略词,CAMEL法则的首单词,全部小写;CAMEL法则非首单词和PASCAL法则,全部大写
大于3个字母的缩略词,和普通单词处理方式一致
举例
类名:IOStream,XMLReader,HtmlPage
变量:ioStream,xmlReader,htmlPage
方法:loadXMLContent,parseHtmlPage
注释: 文档/** */
界:/* */ //
简单的不需注释;
当感觉被迫要添加注释的时候,可能逻辑上出问题了,考虑重写代码。
无制表符和回退符等特殊字符。
不应写在用星号或其他字符画出来的大框
单行注释:
1,其后的代码具有一样的缩进层级
2,如果一个注释不能在一行内写完,就该采用块注释
3,单行注释之前应该有一个空行
行末注释:
1,极短的注释可以与它们所要描述的代码位于同一行
2,代码和注释用一个空格分隔
3,若有多个短注释出现于大段代码中,它们应该具有相同的缩进
声明:
1,一行一个声明
赋值:
1,不要使用内嵌赋值运算符试图提高运行时的效率
a = b + c;
d = a + r;
d = (a = b + c) + r; //错误
2,变量在声明的时候初始化
圆括号:
1,如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号
(x >= 0) ? x : -x
2,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题
if ((a == b) && (c == d)) //正确
if (a == b && c == d) //形式错误;== 优先级高于 &&,运行没有问题
控制语句:
1,判断中如有常量,则应将常量置于判断式的左侧
if ( true == isAdmin())
if( “0”.equals(obj))
2,if语句总是用“{”和“}”括起来,即便只有一条语句
if (condition)
statement; //错误
返回语句:
1,以某种方式使返回值更为显见加()
return myDisk.size();
return (boolean ? size : defaultSize);
SVN代码提交规范:
1,提交代码前,起码要用shift+crtl+f
2,提交之前先更新,负责而谨慎地提交自己的代码
3,针对一个功能模块,一次性提交,不要多次提交
4,不要提交不能通过编译的代码,不要提交自动生成的文件,不要提交自己不明白的代码
5,对提交的信息采用明晰的标注
2,TAB:替换为4个空格:避免不同编辑器对TAB处理差异;
3,空行: 1,类与接口声明;
2,两个方法;
3,一个方法的两个逻辑块
4,除非右大括号”}”紧随右大括号或者文件结束,否则添加一个空行
4,换行: 1,逗号后
2,操作符(优先较高级别)前 +号在前(有*号的时候),||号在前
3,新的一行应该与上一行同一级别表达式的开头处对齐
5,空格: 1,参数列表逗号后面
2,二元操作符两边;一元操作符无需加.如-,++等
3,for语句表达式
4,强制转型后!!!
ctrl+shilt+f
ctrl+shilt+o
命名:
骆驼(camel)命名:变量,方法
帕斯卡(pascal)命名:类
名词或名词词组,完整单词,url除外。
接口命名:I开头,如:IComparable、Iserializable
抽象类:Abstract开头,如:AbstractDriver、AbstractMessageProcessor
模式:以完整模式名结尾 LoginAdapter、HttpClientFactory
异常:Exception结尾BadRequestException、InternalErrorException
常量:应该全部大写,单词间用下划线隔开 public static final int MIN_WIDTH = 4;
缩略词的使用(3个为界)
长度小于等于 3 的缩略词,CAMEL法则的首单词,全部小写;CAMEL法则非首单词和PASCAL法则,全部大写
大于3个字母的缩略词,和普通单词处理方式一致
举例
类名:IOStream,XMLReader,HtmlPage
变量:ioStream,xmlReader,htmlPage
方法:loadXMLContent,parseHtmlPage
注释: 文档/** */
界:/* */ //
简单的不需注释;
当感觉被迫要添加注释的时候,可能逻辑上出问题了,考虑重写代码。
无制表符和回退符等特殊字符。
不应写在用星号或其他字符画出来的大框
单行注释:
1,其后的代码具有一样的缩进层级
2,如果一个注释不能在一行内写完,就该采用块注释
3,单行注释之前应该有一个空行
行末注释:
1,极短的注释可以与它们所要描述的代码位于同一行
2,代码和注释用一个空格分隔
3,若有多个短注释出现于大段代码中,它们应该具有相同的缩进
声明:
1,一行一个声明
赋值:
1,不要使用内嵌赋值运算符试图提高运行时的效率
a = b + c;
d = a + r;
d = (a = b + c) + r; //错误
2,变量在声明的时候初始化
圆括号:
1,如果一个包含二元运算符的表达式出现在三元运算符" ? : "的"?"之前,那么应该给表达式添上一对圆括号
(x >= 0) ? x : -x
2,在含有多种运算符的表达式中使用圆括号来避免运算符优先级问题
if ((a == b) && (c == d)) //正确
if (a == b && c == d) //形式错误;== 优先级高于 &&,运行没有问题
控制语句:
1,判断中如有常量,则应将常量置于判断式的左侧
if ( true == isAdmin())
if( “0”.equals(obj))
2,if语句总是用“{”和“}”括起来,即便只有一条语句
if (condition)
statement; //错误
返回语句:
1,以某种方式使返回值更为显见加()
return myDisk.size();
return (boolean ? size : defaultSize);
SVN代码提交规范:
1,提交代码前,起码要用shift+crtl+f
2,提交之前先更新,负责而谨慎地提交自己的代码
3,针对一个功能模块,一次性提交,不要多次提交
4,不要提交不能通过编译的代码,不要提交自动生成的文件,不要提交自己不明白的代码
5,对提交的信息采用明晰的标注
相关文章推荐
- Spring入门示例及相关概念介绍
- java最佳实践
- Java笔记-写在开始
- Java序列化和反序列化
- Java中的初始化块
- JAVA输入流的复用
- 在springmvc中非controller类中调用service接口,以获取springmvc容器方法实现
- java 多线程
- 指纹方向场的计算(Java
- Java泛型
- springmvc学习笔记一框架的理解
- javaweb启动java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- 查看当前jdk能支持的字符集
- Springmvc构造RESTful详细讲解
- springmvc-自定义标签-taglib
- Java NIO原理图文分析及代码实现
- eclipse中新建 package / source folder / folder 的区别
- java项目打jar包的两种情况
- [转载] Basic try-catch-finally Exception Handling in Java
- myeclipse 写java代码提示 dead code 原因