/**
* 获取 a 除以 b 的结果
* @param {[Number]} a [数字]
* @param {[Number]} b [数字]
* @return {[Number]} [结果数字]
*/
function division(a, b) {
return a / b;
}
// 测试代码
function test() {
var result = division(6, 2);
if (result === 3) {
console.log('pass');
} else {
console.log('fail');
}
}
咋一看上面的代码没什么问题,可以满足产品的需求,但是问题来了,如果 b 为 0,这个模块就出现了 BUG,同时如果下次需要达到其他的值就算通过,那就得去修改测试代码,这样的测试代码本身也太不健全。于是乎有了下面的方式:
/**
* 获取 a 除以 b 的结果
* @param {[Number]} a [数字]
* @param {[Number]} b [数字]
* @return {[Number]} [结果数字]
*/
function division(a, b) {
if (b === 0) {
return 0;
} else {
return a / b;
}
}
function
原文转自:https://segmentfault.com/a/1190000006969924