`审查人:白占宁`
`被审核代码负责人:舒曼`
`代码地址:https://192.168.1.240:8443/svn/repos/source-analysis`
### 存在的问题
#### 1、使用传参数的形式代替全局变量(已修改)
```
/**
* 公用变量
*/
var comChoiceName = '' //传过来的名称
var comStartTime = 0 //传过来的开始时间
var comEndTime = 0 //传过来的结束时间
var comElement = '' //要素名称
var comOption = 0 //选择库
var comPagSize = 10 //每页展示数量
var comCurrentNum = 1 //表的当前页数
dosageTotal: function() {
var self = this
request.sendAjax(baseConfig.dosageTotal+'/'+comStartTime+'/'+comEndTime+'/'+0+'/'+1, function(data) {
var rankData = [data.cjlTop, data.sylTop]
drawing.rankingDraw(rankData)
self.scrollUp('scrollUp','66',60,0)
})
}
```
解决方案:尽量减少全局变量的定义,各个方法需要的数据通过参数传递进去。
#### 2、不符合基本的代码规范(已修改)
```
if(r!=null)return decodeURIComponent(r[2])
```
解决方案:参考《JavaScript编码规范》。
#### 3、注释不完整(已修改)
```
/**
* [获取传参]
*/
parameters: function(name){
var search = window.location.search
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = search.substr(1).match(reg);
if(r!=null)return decodeURIComponent(r[2])
return null
}
```
解决方案:完整的注释应该包括方法描述、参数说明和返回值说明。
#### 4、使用传递的参数前,先判断类型是否符合预期(未修改)
```
/**
* [设置列表]
*/
setCustom: function(data, setStatus){
var setListHtml = Handlebars.compile(setListTpl)
var allData = []//全部值
$('.pop-page-main ul').empty()
data.forEach(function(d, i){
// ...
```
解决方案:如果参数data是`undefined`或`null`或`string`类型,则程序就会报错,应该先判断参数类型是否符合预期,然后再使用参数值。
#### 5、对空字符串的判断方式(已修改)
```
if($(this).val() == '')
```
解决方案:`if(!$(this).val())`
#### 6、第三方类库的位置(已修改)
`jquery.shapeshift.js`属于第三方类库,应该放到`sea-modules`目录下面。
- 1、执法项目
- 1.1 20170523-张红桥
- 1.2 20170523-李伟
- 2、运维项目
- 2.1 20170527-欧阳德才
- 2.2 20170613-尹帮会&欧阳德才
- 2.3 20170706-欧阳德才
- 2.4 20170706-尹帮会
- 3、指挥大屏项目
- 3.1 20170712-欧阳德才
- 4、PC端项目
- 4.1 20170516-张红桥
- 5、万达项目
- 5.1 20170619-李伟&舒曼
- 5.2 20170623-李伟&舒曼
- 5.3 20170803-李伟(未修改)
- 5.4 20170811-李伟(未修改)
- 6、可视化组件
- 6.1 20170718-张红桥
- 7、UI组件
- 7.1 20170522-舒曼
- 8、新员工练习项目
- 8.1 20170401-欧阳德才
- 8.2 20170401-舒曼
- 8.3 20170503-舒曼
- 8.4 20170609-刘黎
- 8.5 20170620-刘黎
- 8.6 20170703-谢洋
- 8.7 20170706-孙雨珩
- 8.8 20170706-谢洋
- 8.9 20170711-谢洋
- 8.10 20170724-谢洋
- 8.11 20170908-谭俊
- 8.12 20171026-廖爽
- 8.13 20171027-廖爽
- 8.14 20171027-廖爽
- 8.15 20171031-廖爽
- 8.16 20171103-覃英琪
- 8.17 20171103-01-廖爽
- 8.18 20171103-02-廖爽
- 8.19 20171110-赵家红
- 8.20 20171110-覃英琪
- 8.21 20171110-02-赵家红
- 8.22 20171115-01-廖爽
- 8.23 20171127-赵家红
- 8.24 20171122-李祁
- 8.25 20180528-吴泓江
- 9、资源监控大屏
- 9.1 20170705-舒曼
- 9.2 20170711-舒曼
- 9.3 20170724-舒曼
- 10、CQ指挥舱
- 10.1 20170906-张红桥&李伟&谢洋
- 11、昆明
- 11.1 20171009-李伟&舒曼
- 12、情报墙
- 12.1 20171025-谢洋
- 13、动态管控
- 14、迪爱斯区县
- 14.1 20171128-欧阳德才
- 15、贵州块数据指挥调度平台
- 16、北京东城区可视化项目
- 16.1 20180425-欧阳德才&谢洋
- 16.2 20180510-谢洋