代码无非是定义一些指令集合让计算机来执行。
精心设计的应用应当将关键数据从主要的源码中抽离出来,这样我们修改源码时才会更加放心。
9.1 什么是配置数据
配置数据是应用中写死的值
我们来看下面的代码:
//将配置数据埋藏在代码中
function validate(value){
if (!value){
alert('Invalid value');
location.href = '/errors/invalid.php';
}
}
function toggleSelected(element){
if (hasClass(element, 'selected')){
removeClass(element, 'selected')
}else{
addClass(element, 'selected')
}
}
这段代码中,有三个配置数据片段,这三个值可能会被频繁修改
分别是:
Invalid value,/errors/invalid.php,selected
它们都是配置数据,因为他们都是写死在代码里的,且将来可能会被修改。下面给出了一些配置数据的例子:
URL
需要展现给用户的字符串
重复的值
设置(比如每页的配置项)
任何时候可能发生变更的值
我们时刻要记住,配置数据是可发生变更的,而且你不希望因为有人突然想修改页面中展示的信息,而导致你去修改js源码。
9.2 抽离配置数据
将上面代码改造为:
var config = {
MGS_INVALID_VALUE: 'Invalid value',
URL_INVALID: '/errors/invalid.php',
CSS_SELECTED: 'selected'
}
function validate(value){
if (!value){
alert(config.MGS_INVALID_VALUE);
location.href = config.URL_INVALID;
}
}
function toggleSelected(element){
if (hasClass(element, config.CSS_SELECTED)){
removeClass(element, config.CSS_SELECTED)
}else{
addClass(element, config.CSS_SELECTED)
}
}
9.3 保存配置数据
将配置数据单独抽离成一个文件,里面可以使用json的格式来保存数据。