代码规范

前言

好的代码规范是确保思路正确的地图导航,错误的编码习惯往往如同错误的地图导航,不经意间将项目导入各种细节错误的泥潭。以下的不规范点为我个人常犯的错误点,请大家参考。

代码风格

1、常量要大写,且不要怕名字长,往往写常量的时候容易嫌弃常量长而进行不适当的缩写,时间一长导致阅读困难。
2、抽象类要用Abstract 或者base代码标识。
3、pojo类boolean类型不要用is开头,防止序列号反序列化出现问题
4、接口类加上注释,在实现里面加注释不是不可以,而是接口才是调用方关注的点,接口不一定只给你自己使用,接口实现的方法往往会繁琐导致阅读困难,或者注释冗余。
5、如果模块,类实现了涉及模式要在命名上加以实现。常用的build,factroy,proxy等方便理解
6、接口类的注释要保持javadoc的格式且保持简洁。
7、形容能力的接口要加上able的形式,使得阅读者能明白接口标识带来xxx的能力。
8、枚举类要加上enum用来标识是枚举类。

常量定义

1、魔法值不要出现在代码中,时间一长魔法值容易给你带来隐藏的细节问题。
2、不要用一个常量类维护所有的常量,此种错误常犯,容易导致扩展困难,维护不变。
3、常量要在不同的层级下,比如应用类共享常量则放到根目录的constant包下,包共享常量则放到包的constant包下。
4、延伸类要做成枚举。

代码注释

1、注释要跟随代码的修改而修改
2、抽象方法必须要有javadoc的注释,并且指出该类做什么事,实现什么功能。
3、方法内部当行注释// ,多行注释/##/,且注意与代码对其。
4、枚举类型字段必须要有注释
5、避免过多的注释

pojo规范

1、不要使用过时的方法,没有必要给自己挖坑。
2、包装类必须要用equal不要用==,比如Integer的==大于127时候出现问题。即:包装类就是类,不是基础类型。
3、类,方法,参数要严格限制使用范围否则不利于耦合,这个很容易忽略,如果不认真研究范围则无法对设计模式有着深入的理解。
4、rpc类的方法,返回的参数必须要用包装类,防止类似null和0的混淆。
5、无用的壳代码要及时清理。

线程

1、锁要尽可能的锁在最小代码块里。
2、锁的顺序要一致不然会导致死锁问题。
3、线程必须线程池创建,防止线程的销毁等问题。
4、random多实例会导致种子竞争导致cpu升高,多线程应该使用threadLocalRandom
5、volitile解决了1写多读的问题。
6、hashMap容量不够会信息resize,在高并发下回产生死链现象,多线程要使用锁避免。
7、threadLocal 为线程持有,所以字段前面要加上static避免使用时创建实例。

控制语句

1、超过三层的if语句要考虑使用策略模式,状态模式
2、参数校验要在执行时间长的方法,需要稳定性和可靠性的方法,对外提供的方法,敏感的权限方法。
3、不进行参数校验的方法,底层频繁调用的方法比如dao层,声明为private只自己调用的方法。

单元测试

1、独立性,可重复性,无人工性。
2、力度要尽可能到小,到方法级。
3、核心模块业务要确保单元测试覆盖到。
4、数据库相关要可回滚,不要人工插入。
5、对于不可测试的代码要考虑重写。

编程习惯

1、及时删除无用代码,慎用注释,如有此行为最好加上todo
2、不要在构造方法中初始化其他对象。
3、尽可能依赖抽象类,或者抽象接口。
4、优秀的代码思考时间要大于编写时间。
5、合理的包名,类名,变量名,常量名是项目的基础。
6、规范的日志有利于查找和思考问题。

后记

java并没有强制要求你做什么,和中文等情况一样,良好的习惯会避免错误的依赖路径。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值