审核人:李伟
被审核代码负责人:赵家红
代码地址:http://192.168.1.170/hyfe/demo-project/tree/master/demo-zhaojiahong
* * * * *
1.项目启动失败 (已修改)
缺少文件`mine.js`
2.命名不规范:JS变量名要求遵循小驼峰法(已修改)
问题所在文件:`fileInto.js、seajs.config.js`等
3.单双引号使用规范:统一使用单引号(已修改)
问题所在文件:`car_number.js`等
4.可读性改进:建议此处改用while语句(已修改)
问题所在文件:`car_number.js 19行`等
~~~
var astr = ""+str;
for(;astr.length<7;){
astr = "_" + astr;
}
~~~
5.程序存在bug,逻辑错误:当页面数据更新的时候(ajax),高速路口流量图表并不会更新
问题所在文件:`road_rate.js`
PS:
1. 用d3绘图一定要考虑DOM结构的update、enter、exit
2. 提供一种测试此类bug的方法:原理是通过定时器,实现间歇性更新数据,真实项目大多也是这样更新数据的
首先将`request.js`中的sendWebSocket方法改写成如下:
~~~
sendWebSocket: function(url, callback) {
var protocol = url.split(':')[0]
if(protocol == 'ws') { //线上版本
window.WS = new WebSocket(url)
WS.onmessage = function(response) {
if (response) {
var data = response.data
callback && callback(data)
}
}
WS.onclose = function() {
WS.close()
}
window.onunload = function() {
WS.close()
}
} else { //
request.sendAjax(url,callback)
setInterval(function() {
request.sendAjax(url,callback)
},5000)
}
}
~~~
接着将请求数据的方法改为`sendWebSocket`
~~~
// 原写法
request.sendAjax(baseConfig.road_rate,function(data){
if (data){
road_rate(data)
}
});
// 改为
request.sendWebSocket(baseConfig.road_rate,function(data){
if (data){
road_rate(data)
}
});
~~~
6.高速路口流量图表Y轴tickValues不应该是死数据,而应该是动态的(已修改)
~~~
// 错误代码
var yMark = [0 ,10, 20, 30, 40, 50]; //y轴坐标刻度
// 同理 比例尺错误
var yRuler = d3.scale.linear()
.domain([0,50])
.range([height - padding.top - padding.bottom,0]);
~~~
PS:
比例尺的domain一般是:`domain([minData * 1.2 , maxData * 1.2])` ,数据最大值最小值应该自行求取,乘以放大系数1.2是为了防止数据图表出界-----书上都有说明
问题所在文件:`road_rate.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-谢洋