`審核人:白占寧`
`被審核代碼負責人:尹幫會 & 歐陽德才`
`代碼地址:https://192.168.1.240:8443/svn/repos/yunwei/src`
### 存在的問題
#### 1、緩存多次使用到的變量
```
dealData: function(data) {
faultProfile.init(data.result.faultProfile)
faultType.init(data.result.faultType)
newFault.init(data.result.newFault)
detachFault.init(data.result.detachFault)
}
```
解決方案:緩存`data.result`,如下所示:
```
dealData: function(data) {
var result = data.result
faultProfile.init(result.faultProfile)
...
}
```
#### 2、避免定義不必要的變量
```
// 接口參數
var startTime = ""
var endTime = ""
// 接口參數
var param = {
startTime: startTime,
endTime: endTime
}
```
解決方案:刪除startTime和endTime。
```
// 接口參數
var param = {
startTime: '',
endTime: ''
}
```
#### 3、使用var定義變量
```
// 渲染數據
tpl = require('../../components/troubleTable/newFault.tpl')
template = Handlebars.compile(tpl);
```
解決方案:不使用var,直接定義變量,將導致該變量成為window的一個屬性,即window.tpl和tpl是同一個變量,容易造成全局污染。
#### 4、JS中建議使用單引號而不是雙引號
```
$(".frontEndPercent").html('50%')
$(".systemPercent").html('50%')
```
#### 5、注釋與內容不符
```
// 前端分頁
var pageArray = []
```
解決方案:注釋內容應明確其功能及作用。
#### 6、初始加載的代碼放到初始化方法中
```
//時間軸選擇界面
date.initPicker('month')
$('.layui-form-pane').find('.submit-btn').on('click', function() {
$('.layui-form-pane').find('.close-btn').trigger('click')
})
```
解決方案:將以上代碼放到init方法中。
#### 7、調用不必要的方法
```
$('.environment-params').empty().html(template(data))
```
解決方案:不用調用empty方法,因為調用html方法都會先將原來內容清空的。
#### 8、不要出現硬編碼,且要說明其含義
```
if (d.value > 22.8) {
return "url(#alarmGradient)"
} else {
return "url(#normalGradient)"
}
```
解決方案:定義為常量,并且說明其代表的含義。
#### 9、畫圖表的代碼不要和業務代碼混到一起,單獨封裝到一個文件中。
#### 10、可以優化的方法調用
```
$('.date-container').empty().append(dateHTML)
```
解決方案:`$('.date-container').html(dateHTML)`。
#### 11、@德才,參考其他模塊代碼,先重構下代碼結構。
- 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-謝洋