My Java Coding Style
2016-06-16 19:29
453 查看
参考博客
1.文件名 源文件以其最顶层的类名来命名,大小写敏感,文件扩展名为Xxx.java。 2.文件编码 UTF-8 3.空白字符 **使用Tab来缩进** 4.源代码的结构 1)License or Copyright information 2)Package statement 3)Import statements 4)Class definition 用一个空白行来分割每一部分 4.1 package 语句不换行,占独立的一行 4.2 import 不要使用通配符 import java.util.*; 4.3 类中的成员顺序应该以某种逻辑去排序,不能总是把新的方法添加到类的末尾;重载的方法应该放在一起 5.大括号 Braces are used with if, else, for, do and while statements, even when the body is empty or contains only a single statement. 6.括号换行 1)左大括号前不换行 2)左大括号后换行 3)右大括号前换行 4)如果右大括号是一个语句、方法或类的终止,则右大括号后换行; 否则不换行。例如,如果右大括号后面是else,则不换行。 eg: return new MyClass() { @Override public void method() { if (condition()) { try { something(); } catch (ProblemException e) { recover(); } } } }; 7.断开的位置 1) 如果在非赋值运算符处断开,那么就在该符号前断开,比如:+(位于下一行),.分割符,类型界限中的&(<T extends Foo & Bar>),catch块中的管道符号|(catch (FooException | BarException e) 2) 如果在赋值运算符处断开,通常的做法是在该符号后断开 3) 方法名和构造函数与左括号留在一行 4) 逗号(,)与前面的内容留在一行 8. 空白 1) 垂直空白: - 类中构造函数,方法,内部类,静态初始块,实例初始块之间用一个空行来分割 2) 水平空白 1. 分割任何保留字与紧随其后的括号,如if (), for () 2. 分割任何保留字与其前面的括号,如} else {, } catch { 3. 任何二元或三元运算符的两侧,要有空格,如<T extends Foo & Bar>, catch (FooException | BarException e),foreach语句中的分号 8. 数组可以写成块状结构 new int[] { 0, 1, 2, 3 } new int[] { 0, 1, 2, 3 } new int[] { 0, 1, 2, 3 } 9.修饰符的顺序 public protected private abstract static final transient volatile synchronized native strictfp 10.命名 1)包名:包名全部小写,连续的单词只是简单地连接起来,不使用下划线 2)类名:类名都以UpperCamelCase风格编写。 3)方法名:方法名都以lowerCamelCase风格编写。方法名通常是动词或动词短语。 4)常量名:常量名命名模式为CONSTANT_CASE,全部字母大写,用下划线分隔单词。 5)非常量名:非常量字段名以lowerCamelCase风格编写。这些名字通常是名词或名词短语。 eg: 首先一定 final static // Constants static final int NUMBER = 5; static final ImmutableList<String> NAMES = ImmutableList.of("Ed", "Ann"); static final SomeMutableType[] EMPTY_ARRAY = {}; enum SomeEnum {ENUM_CONSTANT} // Not constants static String nonFinal = "non-final"; final String nonStatic = "non-static"; static final Set<String> mutableCollection = new HashSet<String>(); static final Logger logger = Logger.getLogger(MyClass.getName()); static final String[] nonEmptyArray = {"these", "can", "change"}; 6)参数名:参数名以lowerCamelCase风格编写。 7)局部变量名:局部变量名以lowerCamelCase风格编写 8)驼峰命名: Prose form Correct ------------------------------------------- "XML HTTP request" XmlHttpRequest "new customer ID" newCustomerId "inner stopwatch" innerStopwatch "supports IPv6 on iOS?" supportsIpv6OnIos "YouTube importer" YoutubeImporter -------------------------------------------
相关文章推荐
- Java(六) final用法实例讲解
- Java反射(二)----- 动态加载类
- Java自定义注解——简易实现spring @Autowired
- JDBC:java.sql.SQLException: Before start of result set怎么办
- 用java实现文件的复制功能
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】
- Struts(S2-037)远程代码执行
- springMVC运行流程
- Java基础-设计模式-单例模式2
- win7下JAVA环境变量配置方法
- java异常汇总
- Java反射(一)----- Class类的使用
- cronexpression 详解
- 不设置环境变量运行eclipse的方法
- java开发webservice
- Eclipse项目转AndroidStudio
- RxJava进阶之源码分析map() 操作符分析
- 转:java 类名 this 的使用
- java OOM(OutOfMemory) 问题分析
- java 的@Override 标签