`審核人:謝洋`
`被審核代碼負責人:廖爽`
`代碼地址:http://192.168.1.170/hyfe/demo-project/tree/master/demo-liaoshuang`
> 注:此文檔只作為上一篇的補充,重復問題已省略
### 存在的問題
#### 1、DOM結構優化(已修改)
1. 在標簽內沒有任何內容的時候,建議不要單獨留出空行。
2. 建議不要采用內部樣式表(內聯樣式表和內嵌樣式表)的寫法,盡量將樣式寫進單獨文件,采用外聯(外部樣式)的方式,通過 <link /> 標簽引入 HTML 結構中。另外,內部樣式非常不利于維護。
3. 另外 css 命名不建議使用駝峰命名,雖然 HTML 對大小寫不敏感,但 js 或 jsp 等對大小寫是敏感的,容易造成‘一個小問題找半天’的情況。
```html
<section class="ruleNum">
<svg class="ruleSvg" height="600" width="1000">
</svg>
</section>
```
解決方案:
```css
/*style.css*/
rule-svg {
width: 600px;
height: 1000px;
}
```
```html
<head>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<section class="rule-num">
<svg class="rule-svg"></svg>
</section>
```
#### 2、js句尾分號問題(已修改,哈哈)
保持句尾分號的統一,要么全部使用分號,要么全部不用。建議全部不用。
> 友情提示:慢慢習慣吧,我也是這么走過來的!因為大家都不用,我也不好意思用了!
#### 3、畫圖時變量保存的問題(已修改)
建議屬性值使用變量保存,統一使用,最好加上變量的注釋,
這樣隨處可見數字的寫法使得代碼質量非常差,也非常不利于維護。
```javascript
cir.append("circle")
.attr("class", "brandC1")
.attr("cx", 500)
.attr("cy", 300)
.attr("r", 105)
cir.append("circle")
.attr("class", "brandC2")
.attr("cx", 500)
.attr("cy", 300)
.attr("r", 117)
//省略了部分重復的代碼
```
解決方案:
```javascript
// 圓的class
var style = ['c1', 'c2']
// 圓的x坐標
var cx = 500
// 圓的y坐標
var cy = 300
// 圓的半徑
var r = [105, 117]
cir.append("circle")
.attr({
"class": function (d, i) {
return "brand-" + style[i]
}
"cx": cx,
"cy": cy,
"r": function (d, i) {
return r[i]
}
})
```
#### 4、Number類型和String類型不要混用(已修改)
數字和字符串是js里面的兩個基本類型,既然是兩個獨立的類型,在能傳數字的地方盡量傳數字,而不要選擇字符串類型的數字,這個可以避免很多的坑:比如
```javascript
var num = 123
var str = '123'
console.log(num == str) //true
console.log(num === str) //false
```
同時也可以避免在很多時候不必要的數據轉換
建議修改的代碼:
```javascript
circle("5", "#ff0", "none", "none", "tongbi")
circle("5", "#ff0", "none", "none", "huanbi")
```
解決方案:
```javascript
circle(5, "#ff0", "none", "none", "tongbi")
circle(5, "#ff0", "none", "none", "huanbi")
```
如果可能,請節約傳參的數量和保持傳參的質量("none","none"看起來很low)
#### 5、mock數據優化(已修改)
```javascript
'carNum1': [{
'name': '機動車總數',
'value|100000-9999999': 1
},
{
'name': '網約車總數',
'value|1000-9999999': 1
},
{
'name': '重點總數',
'value|10000-9999999': 1
},
{
'name': '貨車總數',
'value|100-9999999': 1
}
]
```
解決方案:
```javascript
'carNum1|4': [
{
'name|+1': ['機動車總數', '網約車總數', '重點總數', '貨車總數'],
'value|100000-9999999': 1
}
]
```
#### 6、盡可能地驗證數據(修改中)
未驗證的數據存在很大的安全隱患,也為后期增加了許多bug的風險
```javascript
request.sendAjax(baseConfig.trafNum, function(data) {
trafNum(data)
})
```
解決方案:
```javascript
request.sendAjax(baseConfig.trafNum, function (data) {
if (data) {
trafNum(data)
}
)
```
- 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-謝洋