下面的代碼哪一種的可讀性更強呢,并思考為什么肾请?
假如一家商場對商品正在進行打折绘沉,價格在 100 - 200 之間的打八折,其它的按原價出售.
第一種:
function calculatePrice(price){
var result;
if (price >= 100 && price < 200) {
result = price * 0.8;
} else {
result = price;
}
return result;
}
第二種
function calculatePrice(price) {
let result;
if (isDiscount(price)) {
result = discount(price);
} else {
result = price;
}
return result;
}
function isDiscount(price) {
return price >= 100 && price < 200;
}
function discount(price) {
return price * 0.8;
}
第三種
function calculatePrice(price) {
if (isDiscount(price)) {
return discount(price);
} else {
return price;
}
}
function isDiscount(price) {
return price >= 100 && price < 200;
}
function discount(price) {
return price * 0.8;
}
第三種可讀性最強既峡,其次是第二種,最后是第一種碧查。把各個功能拆解成不同的函數运敢,從函數名可讀出函數的作用,并且便于后期維護忠售。第三種直接return,更符合人的思維传惠,更加簡便。