公共方法
当我们写一些公共组件或方法时,我们可能需要接收外部的参数,但是,我们并不总能保证我们的注释是完全能让他人理解的。
/**
* 获取所有考评员信息
* @param {district} 区域
* @param {department} 部门
* @param {discipline} 学科
*/
self.getAllExaminerInfoByDistrictAndDepartmentAndDiscipline = function(district, department, discipline) {
// 设置请求参数
var params = {
districtId: district.id,
departmentId: department.id,
disciplineId: discipline.id
};
// 请求后台接口,返回
return $http.get(baseUrl, { params: params });
};
错误使用
就像上面的这段代码,属于在Service
中的公共方法,乍一看,可能看不出什么错误,我们注释写得好好的,我要个什么什么对象,用的时候传给我就好了。
编码常有失误,如果他人不小心传了个undefined
进来。
var params = {
districtId: district.id,
departmentId: department.id,
disciplineId: discipline.id
};
然后我们这段代码就是从undefined
中获取属性,就会抛出错误。
当然,以软件工程师的骄傲,他不是先考虑自己哪里写错了,而是认为你这个公共的方法有问题,然后找写这个方法的人进行激烈地讨论,浪费了半个小时发现原来是参数传错了。这严重地影响了开发的效率。
参数校验
所以我们的公共方法既要写注释,让人能看懂,也要对每一个传入的参数表示“怀疑”。
公共方法,可能会有很多人使用,为了减少参数传错造成的时间浪费,所以我们需要在我们的逻辑真正地执行之前,对传入的参数进行校验。
我们可以对这几个传入的区域、部门、学科对象进行校验。
if (!district) {
throw '未接收到区域信息';
}
这样,如果我们没有传该参数或传入一个undefined
,我们的控制台就会报错,提示开发者“未接收到区域信息”。
这样,开发者就能准确而快速地定位错误,自己这个方法用错了,并且根据提示,是自己的区域信息传错了,这就减少了互相争论与讲解的成本。
公共方法随手throw
一条提示信息,节约程序员debug
的万千时间。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。