Java 基础

因为重构了别人的恶心代码,体验极差,所以弄个基础规范给自己。

一、命名规范

Java中学习到的第一点就是

1、代码中的命名不能以下划线或者美元符号开始,也不能以下划线或者美元符号结束。

如:

_name / __name / $Object / name_ / name$ / Object$

2、代码中命名最好不要用中文拼音,实在不会就百度(我就是那个百度的渣渣,虽然现在有在学习英语)。

因为同事遇到过,前端的命名全是拼音,但是又是缩写。和组长报告,我拼音不太好,能不能让前端给我

讲讲什么他这个页面到底是什么。

3、方法名、参数名、成员变量、局部变量统一使用lowerCamelCase风格,必须遵循驼峰形式

如:

localValue (参数名、成员变量、局部变量) / getHttpMessage() (方法名)

4、我们在类中使用到的常量全部用大写,方便区分。每个单词之间以下划线分割

如:

MAX_STOCK_COUNT

5、抽象类以Abstract或Base开头;异常类命名使用Exception结尾;

测试类 命名以它要测试的类的名称开始,以Test结尾。

6、如果定义一个数组类型最好是String[] args。虽然String args[]也没什么问题。但是语义上略显不同。

比如:

String与String[], 前者叫字符串类型而后者叫字符串数组类型,

String args[]单从类型上来讲属于字符串类型,

而从变量本身来讲是一个数组类型,

因此组合起来说明此变量为一个字符串类型的数组, 也就是说数组中的所有元素都为String类型.

然后当你如果要声明多个数组的时候就显示出差异化了。

如:

String args[],argt; / String[] args,argt;

前者声明的第一个变量是字符串数组类型,而第二个变量为字符串类型,

而后面声明的则都为字符串数组类型。

7、如果你自己封装的方法之中使用了设计模式的话,命名最后带上设计模式的名字

如:

public classOrderFactory;(工厂模式)

public class LoginProxy;(代理模式)

8、接口之中最好不要加上修饰符号(public最好也不要加上),保持代码的简洁性,并且加上有效得javadoc得注释

(ps:个人认为doc得注释相当得有必要,你不用在去和别人讲什么乱七八糟的糟心的东西,直接甩他doc的文档,

离职交接也可以很快完成,因为一个正常的码农,一般都是看的懂)

9、接口一定是一个暴露出来的服务,让其他人来进行调用的。而接口的实现类一般都是用Impl与接口作为区别的。

10.枚举类用Enum作为后缀,枚举成员名称需要全大写,单词间用下划线隔开(个人是没有用到什么枚举类方面的)。

11.Service/DAO 层命名

如:

1) 获取单个对象的方法用 get 做前缀。

2) 获取多个对象的方法用 list 做前缀。

3) 获取统计值的方法用 count 做前缀。

4) 插入的方法用 save(推荐)或 insert 做前缀。

5) 删除的方法用 remove(推荐)或 delete 做前缀。

6) 修改的方法用 update 做前缀。

12.最好不要直接使用未经定义的常量直接出现在代码中。(

这个我以前经常做,只在本类或者是只在这个方法中出现,直接就偷懒拼接了,但是最后发现,看起来。。。人有点晕)

如:

String key="Id#参数_"+tradeId;

13.字符串equals方法容易抛出空指针异常,最好使用常量或者确定有值得对象来调用equals

如:

"test".equals(object);

14.局部变量最好使用基本类型,而POJO类属性最好使用包装类,RPC方法返回和入参最好使用包装类

因为数据库的查询结果可能是 null,因为自动拆箱,用基本数据类型接收有 NPE 风险

相关推荐