进攻式编程让Code具备了记录自身问题的能力。其核心理念是:开发阶段能显示的提示开发者---我是存在问题的;而在产品代码运行时具备自我恢复的能力。
这种方式的处理,很大能力上区别了开发代码和产品代码的分界线。举例来说:某项目组要在一段时间段内在原有版本的基础上新增一个较大的功能,但在其中途要演示给其他部门的负责人,但其还不具备完善的运行能力。如果项目组在开发阶段注重了进攻式编程,那么可以展示已完成的,残缺的功能(产品代码),而未完成功能的备忘可以交给代码本身负责---开发代码警告开发者说"我是有问题的,快来修改我!"。如此一来,也许开发者可以在一段时间内忘记以前做过什么,而在获得警告之后,可以很容易的进入到工作中去。我见过从逻辑上来进行处理,来达到记录未完成功能的目的。但人的记忆力总是有限的,也没有这种方式来的干脆和轻松。
进攻式编程不仅仅只有如此,其最重要的是--要勇于发起大胆的进攻。在我的理解里---开发阶段要尽可能考虑更多的异常情况,并加以测试和处理。从而不会让自己在产品发布后败的太惨。如果有足够的时间足够你做这些的话。