多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
`审查人:白占宁` `被审核代码负责人:欧阳德才` `代码地址:https://192.168.1.240:8443/svn/repos/diaisi-quxian` #### 1、缺少必要的注释(已修改) 很多JS文件里面一句注释都没有,差评!!! #### 2、mock URL不符合规范(已修改) 文件路径:`mock/index.js` ``` import Map from './map' import Time from './time' ``` 建议统一添加`fetch`前缀。 #### 3、原生DOM方法与jQuery混用(已修改) 文件路径:`components/time/index.js` ``` const div = document.createElement('div') div.setAttribute('class','time') $(el).append(div) ``` 统一使用jQuery的方式,避免原生方法和jQuery混用。 #### 4、不符合基本的JS规范(已修改) ``` import {fetch} from '@/util/request' import './index.css' const mapConfig = { height: 1600, width: 1700, scaleTimes: 50 } class Map{ constructor(el){ this.Jiulongpo = new Jiulongpo(el, mapConfig) } render(){ fetch('Map', data => { this.Jiulongpo.render(data) }) } } ``` 以上代码不规范的地方如下: - `{ }`两边没有留空格; - `import`、变量定义和类定义之间没有留空行; - 缩进不对,建议使用2个空格缩进,添加eslint检测; - `render(){`方法定义和`{`之间差个空格。 #### 5、代码可读性差(已修改) ``` {startAngle: 0, endAngle: percent * 2 * Math.PI, innerRadius: 69, outerRadius: 75}, {startAngle: percent == 1 ? 0 : (percent + 0.01) * 2 * Math.PI, endAngle: percent == 1 ? 0 : 1.98 * Math.PI, innerRadius: 70, outerRadius: 74} ``` 建议每行不超过120个字符。 #### 6、这个什么操作?(已修改) ``` ( function repeat() { $('.important-into .case-list').css('top',$('.case-info').outerHeight() + 'px') $('.important-into .case-list').animate({ 'top' : -ulHeight + 'px'}, liCount * 5000, 'linear', repeat) }() ) ``` #### 7、图表组件结构不对(已修改) ``` export default class CasePie{ constructor(config){ this.config = config this.arcPath = d3.svg.arc() } ``` 容器与配置项分离,所有图表组件提供默认配置项。 #### 8、可优化的代码(已修改) ``` .attr('transform', 'translate(' + this.config.centroid.x + ', ' + this.config.centroid.y + ')') .attr('fill', (d, i) => { return this.config.fill[i] }) .attr('stroke', this.config.stroke) ``` 以上代码存在的问题: - 使用字符串模板代替字符串拼接; - `return`后只有一句时可以简写,省略`{}`和`return`; - 先定义`fill`、`stroke`等变量,不要到处都是`this.config.xxx`。 #### 9、方法定义位置不对(已修改) ``` // 获取地图缩放比例 this.getZoomScale = function (features, width, height) { ``` 各个实例可以复用的方法定义到原型上,不要定义到构造方法里面。 #### 10、复用性及可扩展性体现在哪里? 如果有另外一个区县,和现在的样式很类似,如何用现有的代码快速开发出来,并且修改的地方很少?