`审核人:白占宁`
`被审核代码负责人:李伟 & 舒曼`
`代码地址:https://192.168.1.240:8443/svn/repos/wanda`
### 存在的问题
#### 1、关于null的判断
```
if(name == null){
groupData = [xsData, xzData]
nameDat = ['xingshi', 'xingzheng']
}
```
解决方案:使用`!`运算符,如下:
```
if(!name){
groupData = [xsData, xzData]
nameDat = ['xingshi', 'xingzheng']
}
```
#### 2、代码可读性差
```
$('.nav li:eq('+index+')').siblings().removeClass('active').end().addClass('active')
```
解决方案:添加必要的空格,必要的时候换行,如下:
```
$('.nav li:eq(' + index + ')')
.siblings()
.removeClass('active')
.end()
.addClass('active')
```
#### 3、代码缩进问题
```
switch(index)
{
case 0:
//将地图数据显示为刑事、行政数据
// all.renderMap(mapData, null)
$('#allMap .xingshi, #allMap .xingzheng').stop().fadeIn();
$('.all-map').removeClass('all-map-big')
$('.all-wrap').stop().show(function(){
$('.all-wrap').addClass('act-animated')
})
$('.all-map .cutline').stop().fadeIn();
break;
```
解决方案:请参考《JavaScript编码规范》进行正确的缩进,如下:
```
switch(index) {
case 0:
//将地图数据显示为刑事、行政数据
// all.renderMap(mapData, null)
$('#allMap .xingshi, #allMap .xingzheng').stop().fadeIn();
$('.all-map').removeClass('all-map-big')
$('.all-wrap').stop().show(function(){
$('.all-wrap').addClass('act-animated')
})
$('.all-map .cutline').stop().fadeIn();
break;
```
#### 4、尾部分号不统一
```
$('#allMap .xingshi').stop().fadeOut();
$('#allMap .xingzheng').stop().fadeIn();
$('.all-map').addClass('all-map-big')
```
解决方案:要不统一全部加,要不全都不加分号,建议统一不加尾部分号。
#### 5、代码注释与下一个方法之前留一个空行
```
/**
* 左上角刑事和行政总数
*/
renderCaseTotal:function(data) {
var xsTotal = data.xstotal
var xzTotal = data.xztotal
$('.all-case-cri .all-case-value').html(xsTotal);
$('.all-case-offi .all-case-value').html(xzTotal);
var maxValue = xsTotal - xzTotal > 0 ? xsTotal : xzTotal;
var xsxzArr = [xsTotal,xzTotal];
xsxzArr.map(function(value,index) {
$('.all-num .all-progress').eq(index).css('width',Math.ceil(100 * xsxzArr[index] / maxValue) + '%')
})
},
/**
* 案件类型
*/
renderCaseType:function(data) {
var config = {
width: 460,
height: 260
}
gradientAreaChart.drawCharts('#allTypeChart', data, config)
}
```
解决方案:在第一个方法结束后,留一个空行。
#### 6、data如何是数组,则循环方式有问题
```
for(var d in data){
NewData.push({'name': nameData[i], 'value': data[d]})
i++
}
```
解决方案:`for in`用于循环对象,不适用循环数组。可以使用传统的`for循环,map或forEach`等。
#### 7、方法注释不规范
```
/**
* 刑事案件强制措施
*/
renderCriminalMeasure:function(data) {
var measureHtml = Handlebars.compile(measureTpl)
$("#criMeasure").html(measureHtml(data))
},
```
解决方案:使用编辑器插件,配置统一的注释,至少包括方法描述、参数说明、返回值这三部分,最好能够再添加上参数示例,如下:
```
/**
* @description 将原始数据转换成D3图表组件 waterBall能直接用于渲染的数据
* @params {array} data 参数说明
* @return {array} 计算后的数组
* 原始数据例子:[
* {
* name: "治安",
* value: 55
* }
* ]
* 转换后:[[[55,45],['治安']]]
* 注:第一个数组两个值合起来是100,第一个值是D3渲染值
*/
getAcceptTypeData:function(data) {
var renderData = [];
data.map(function(item,index) {
renderData.push([
[item.value,100 - item.value],
[item.name]
])
})
return renderData;
}
```
- 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-谢洋