`審核人:張紅橋`
`被審核代碼負責人:廖爽`
`代碼地址:http://192.168.1.170/hyfe/demo-project/tree/master/demo-liaoshuang-es6`
#### 1、圖表組件的位置存放錯誤(已確認)
解決方案:所有圖表放在charts文件夾,Script文件夾放業務代碼
#### 2、new Object 不應該放在init方法里面,這樣會造成每次數據發生變化時都要new一次(已確認)
`scripts/*.js` (index.js除外)
```
/**
* 車輛管理-高速路口流量
* @param {object} data [后臺數據]
* @return {none} none
*/
let init = (data) => {
let road = new Road(data)
road.init() // 執行實例
}
```
解決方案:new Object只執行一次,init()方法只負責重新渲染數據
#### 3、ES5和ES6語法混用(已確認)
`scripts/*.js` (index.js除外)
```
var paths = node.append('g')
paths.selectAll('path')
.data(self.dataArr())
.enter()
.append('path')
.attr('transform', `translate(${config.padding.left}, ${config.padding.top})`)
.attr('d', function(d) {
return linePath(d)
})
.attr('fill', 'none')
.attr('stroke-width', 2)
.attr('stroke', function(d, i) {
return config.color[i]
})
```
解決方案:建議將function改為箭頭函數
```
var paths = node.append('g')
paths.selectAll('path')
.data(self.dataArr())
.enter()
.append('path')
.attr('transform', `translate(${config.padding.left}, ${config.padding.top})`)
.attr('d', (d) => linePath(d))
.attr('fill', 'none')
.attr('stroke-width', 2)
.attr('stroke', (d, i) => config.color[i])
```
#### 4、定義變量使用let或const(已確認)
`scripts/*.js` (index.js除外)
解決方案:將var 變改為let 或const
#### 5.變量取值可使用解構賦值(已確認)
`scripts/rafNum.js`
```
let self = this
let config = self.config
let left = config.padding.left
let top = config.padding.top
```
解決方案:
```
let self = this
let config = self.config
let { left, top } = config.padding
```
#### 6.svg通用js創建,通過配置項設置svg的屬性,增強組件的可復用性(已確認)
`scripts/*.js` (index.js除外)
```
let svg = d3.select('.trafsvg')
.attr('width', config.width)
.attr('height', config.height)
```
解決方案:svg在構造函數中創建,通過配置項設置屬性,如:
```
/**
* Creates an instance of RectBar
* @param {string} selector 容器元素選擇器
* @param {object} opt 圖表組件配置項
*/
constructor(selector, opt) {
// 獲取配置項
const defaultSetting = this.defaultSetting()
const { width, height, itemStyle } = this.config
// 創建svg元素
const svg = d3.select(selector)
.append('svg')
.attr('width', width)
.attr('height', height)
}
```
#### 7.constructor使用不恰當(已確認)
`scripts/*.js` (index.js除外)
```
constructor(data) {
this.config = {
width: 1000,
height: 600,
padding: {
top: 50,
right: 50,
left: 50,
bottom: 50
}
}
this.data = data
}
```
解決方案:constructor函數應用來執行圖表的一些初始化操作,而不是保存配置項,配置項另用一個方法保存
#### 8.方法多余的注釋未刪除(已確認)
`scripts/*.js` (index.js除外)
```
/**
* x軸比例尺
* @example: [none]
* @return {Function} [比例尺]
*/
xScale() {
...
}
```
解決方案:沒有example應該刪除@example: [none]注釋
#### 9.js文件中有多余分號(已確認)
`scripts/rafNum.js`
```
// 額外設置網格線條寬度
d3.selectAll('.traf-yaxis1')
.attr('style', `stroke-width: ${spac}px;`)
```
解決方案: JS文件中建議省略所有分號。
- 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-謝洋