这是一个比较严重的问题,这也是我为什么老说能不能学好编程也是要看“悟性”,我就见过逻辑思维极度混乱的人。对于改进的方法,我只能提几点小建议。

敲代码之前要多思考,多画流程,多考虑分支,多考虑可能发生的异常。

虽然很多公司没有为程序员留出单独的设计时间,但是当拿到一个需求的时候,不是立刻动手敲代码,而是要先思考,尽可能把所有的业务分支都考虑清楚。

java

举个例子,任务表里有一批数据,需要写一个批处理方法对其处理。

最简单的流程:Java代码中访问数据库,select * from table , 查询出来数据后,在Java中遍历处理。那么可能会有的问题有哪些,解决方法又是什么,我们一起来看看:

  1. 如果数据太多,一次性把数据都读取到内存中就会有问题。解决方法:分页查询。

  2. 处理过程中,任务表还有数据插入,会造成漏处理或重复处理。解决方法:增加处理/未处理标志字段。

  3. 其中一条数据处理过程发生异常,程序会中断。解决方法:增加异常处理,单条数据处理异常也不会造成程序中断;发生处理异常的数据,标志位写入处理失败。

  4. 数据量多,单机处理效率慢。解决方法:分布式Job,部署多台服务对数据进行处理。

这么一看,一个很简单的需求,其实包含的可能性是非常的多的。我们在正式开发之前,尽量把所有的可能性都考虑到。

另外,我们在做Java开发的时候,尽量做到一个方法只做一件事儿,避免把大量代码都写在一个方法里面,这样不仅会让别人读不懂你的代码,而且时间长了,自己都不知道自己的代码是什么意思了。