一:何为程序的不安全状态
我们在开发项目时,随着项目的规模越来越大,当对项目进行开发、修改时,往往要等到手头上的代码全部写完、修改后才能正常地运行项目,这个时间就是程序的不安全状态,即:程序不能编译、不能单元测试、不能运行。
二:为何要这样做
相信我们都学过或者听到过“单元测试”,但是真正在项目开发中实践的不多。
所以,很多人在开发一个新功能、项目时,都是从一而终,功能代码不敲完、调试完,整个项目就不能正常编译、运行起来。更为重要的是,由于对潜在的各种用例没有考虑周全,导致在调试过程中不断出现各种bug,这样就在“debug——fix”中不断重复。
三:方法论
缩短不安全状态时间、减少代码bug率、提升开发速度的一个行之有效的方法就是——测试驱动开发。
我是这样做的:
1:搭建框架:要实现某个功能时,我会先创建一个类、声明相关的功能方法以及注解【方法尽量“各司其职”,一个方法一个功能,不要大杂烩】
2:编写测试:一个功能类编写一个测试类、一个功能方法编写一个测试方法;
测试方法如何写:
1)断言先行:用断言判断先验条件:例如参数不能为空
2)调用被测试者:尽量从多角度、多方面提取测试用例,然后作为参数,调用被测试的函数,获取返回结果
3)观察结果:通过打印、异常等信息,查看不同用例的执行结果
3:实现方法:通过前面两步,大概清楚了要定义的方法需要什么参数、需要什么什么输出,逐个实现功能方法。【方法的定义要严格遵循“单一职责”,只做一件事】
4:测试、审查、重构:在编码完成后,要进行单元测试、联合测试、整体调试,并在此过程中进行代码审查与修改、代码重构。