你考虑过这些吗?
保证程序的健壮性
在编程的过程中,我们需要保证对输入的每一个参数合法性进行检查。特别是这些常见的异常。比如:空指针和数组下标越界。
保证线程的安全性和可见性
在高并发的情况下,如果对多线程的理解不够深入的话,就会出现各种稀奇古怪的问题。因此,我们需要在潜意识里面保证每一行代码的正确性。
尽早断言
在函数传入的参数或者程序状态变化时,尽早捕获一切可能存在的异常,比如参数的判断、io流的关闭等。
不要轻易忽略异常
在编码的过程中,除非是必须要处理的异常,一般将它继续抛出。不要随意try/catch;更不要轻易吃掉异常。
明确可靠操作和不可靠操作
要在潜意识里面确保每一行代码是否会抛出异常,或者是否会引起状态(高并发的环境下)不一致。
缩小可变域,尽量final
一个类可以成为不变类,就优先将它设计成不变类。对于可变类,从构造函数传入的引用,在类中作为属性,最好将字段设置成final,以免被中途误修改引用,造成未知异常。
提高代码的可测性
程序能够容易被测试的难易程度。测试用例的单一性(只测目标类本身)和隔离性(不传染失败)。
规范的注释
你也许跟我一样,面临过如下场景:
- 当你经过一段时间后,发现哪儿出问题或需要调整功能的时候?
- 当你去改别人代码的时候(你的代码也会被别人改)?
- 当你需要补一些设计文档的时候
因此,我们需要在编码的过程中规范自己的注释,以下的注释主要针对IDEA的开发环境。
File and Code Templates
/**
* @name: ${NAME} <br/>
* @package ${PACKAGE_NAME} <br/>
* @description: ${TODO}<br/>
*
* @author Mr. yrzx404<br/>
* @date ${DATE} ${TIME} <br/>
* @version V1.0 <br/>
*/
Live Templates
/**
* @description: ${TODO} <br/>
*
* @author Mr. yrzx404<br/>
* @date $DATE$ $TIME$ <br/>
* @version V1.0 <br/>
*/
说明:需要设置DATE和TIME参数的值。
博客已迁移,欢迎关注 最新博客