问题
一般程序员都会发现这样的问题,需求拿了,编码写完了,编译也通过了,运行也没报错,就以为程序OK了,但到测试人员那里,一运行测试用例,就发现漏了这个那个的,产生了所谓的质量问题。
原因
这通常是由于程序员一拿到需求,就马上想要几个CLASS,然后就开始编码了。
解决方案
- 拿到需求后,先想大概会用到哪些OBJECT,即SERVICE,DAO之类的
- 设计出会遇到哪些场景
- 设计出分别在这些场景中,那些OBJECT合作的流程图
- 编码
举例
需求:有一系统会在每天的某个时间点,在某个文件夹内,导出一个一定格式名称的文件,现在要求程序实现在文件生成后,读取这个文件,抽取某些内容后,再生成另一文件,通过SFTP发走。
方案:
- 会用到排程器,控制器,SPRING BATCH JOB
- 有这几种场景:没有发现文件时,发现了文件后正常处理,控制器和SPRING BATCH JOB出现错误时等
- 处理流程:控制器没有发现文件后,通知排程器继续下一次循环;控制器发现文件后,通知SPRING BATCH JOB处理,然后通知控制器退出;控制器出现错误或SPRING BATCH JOB出现错误后,控制器通知排程器退出。
- 根据这几种场景设计程序结构,编码
- 编写单元测试用例