(九)迭代与测试
2017-11-26 本文已影响0人
LYyI



迭代

两种基本的迭代方式

-
功能驱动开发
焦点是功能列表,一个一个功能
-
用例驱动开发
焦点是用例图,一个一个场景
-
Granular(颗粒化) vs BigPicture(整体化)
分解问题 整体决策
契约式变成 & 防御式编程
-
program by contract
-
defensive programming
- 契约式 vs 防御式
在契约式编程中,你与用户对你们如何处理问题取得共识;在防御性编程中,你的决策乃奠基于确保不论用户做什么,你的程序都不会崩溃。
![]()
-
RuntimeException vs CheckedException
-
RuntimeException的使用