中国开发网: 论坛: 程序员情感CBD: 贴子 780253
sealw: 故事是这样的
前一个版本是:

void process(Info info) {
if (has_nonActive_order()) {
shoot_or_fish_or_do_nothing();
} else {
arbi_or_shoot_or_fish_or_withdraw();
}
}

但这样的写法有一个问题,两个方法的执行实际是有前提条件的。一种方法是在这两个方法的入口处加断言,即防御式设计,并在方法的文档中说明该方法的调用有前提条件。

另一种方法就是像我给出的那样,在两个方法中判断前提条件,并在方法名中准确说明方法的意图。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录