`審核人:白占寧`
`被審核代碼負責人:李偉 & 舒曼`
`代碼地址: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-謝洋