var config = require("./config");
var calcRate = function(input){
var rate = config['xxrate'];
return min(max(0, rate * input), 100);
}
var main = function(){
console.log(calcRate(150));
}
- パラメータを関数の引数ではなくグローバルに置かれたconfigテーブルを参照するので単体での境界値テストが不可能
- 無意味に依存関係を構築しているためモジュール性が悪い
var config = require("./config");
var calcRate = function(rate, input){
return min(max(0, rate * input), 100);
}
var main = function(){
console.log(calcRate(config['xxrate'], 150));
}
var getMessage = function(){
var date = new Date();
var h = date.getHours();
if(h > 5 && h < 10){
return "good morning";
}else{
return "hello";
}
}
var main = function(){
console.log(getMessage());
}
- パラメータがなく時間によって振る舞いが変わるので単体でのテストが不可能
var getMessage = function(date){
var h = date.getHours();
if(h > 5 && h < 10){
return "good morning";
}else{
return "hello";
}
}
var main = function(){
console.log(getMessage(new Date()));
}