以前写web代码,都是jsp,controller,service,mapper,就四层代码,天天如此,所以说很难能写出一些牛逼的代码。最近一直在改公司脚手架里面的代码,感触颇深啊。

写代码,在我看来,需要形成条件反射式的思考,稍纵即逝的想法,有可能就减少许多犯错的机会。

 

1.代码的调用者是谁,使用者是谁

稍微思考一下代码会在其他什么地方出现,谁会使用这些代码

如果是写基础代码,这些代码要给别人使用,那么必须写好方法注释

方法的入参,出参考虑清楚。比如入参为null怎么办?入参不符合实际需求怎么办?

 

2.代码是不是运行在多线程的环境下

如果是多线程环境下,那么要注意线程安全问题

其实针对每一个方法都要稍微想一想是不是这个方法,会出现在多线程环境下。

并且,针对类内的每个字段,都要稍微想一想,会不会出现线程安全问题。

 

3.代码的优化也是很重要的

对每一个方法,虽然我们不能清楚计算出实际执行的时间,但是我们能够大概评估出需要查询多少数据,创建多少对象。

针对数据库,每一个mybatis的mapper的方法调用,实际创建了哪些主要对象,数据库中的这张表,有多少数据,这一次查询,大概会返回多少数据。

针对每一个方法,里面创建了大概多少个对象,大概会消耗多少内存,如果十分清楚,那么,功力就上升到一个相当高的高度了。

 

4.日志的格式如何规范,什么时候打日志,什么时候不打日志,打日志的级别考虑过吗?

编写可回溯的代码至关重要,方便回溯问题。

给别人调用的代码,需要写好注释,方法入参含义,这些都没有注意过。