“代码质量”真的是个很广泛的词,像我们这种粗俗的程序员很多时候想不出怎么夸代码写的好,翻来翻去总是那句“写的很好”,“写的很烂”,“牛逼”。其实评价代码的质量有很多方面,下面总结一些最常用最经典的。
**1. 可维护性(maintainability)**
维护从字面上理解无外乎就是改bug、修改老的代码、添加新的代码之类的工作。所谓“代码易维护”就是指,在不破坏原有代码设计、不引入新的 bug 的情况下,能够快速地修改或者添加代码。
**2. 可读性(readability)**
可读性的指标有很多种,我在“代码的可读性真的很重要”的一篇中已经说明过了。
**3. 可扩展性(extensibility)**
可扩展性直白一点就是代码写完后,如果要在里面加新的功能,麻不麻烦,困不困难。如果很麻烦,那就是可扩展性差。尤其是一些稍微复杂点项目或模块,可扩展性非常重要。我曾写过一个流程图管理,当时初次上手经验欠缺,从未想过从可扩展性等方面思考过这个流程图该怎么弄。后面的结果就是,每次随着需求一加新功能,我就开始头痛,因为这对我来说意味着一轮新的bug修改。从这以后我也吸取教训,深刻意识到可扩展性的重要性。
**4. 简洁性(simplicity)**
KISS 原则:“Keep It Simple,Stupid”。正如武学练到最顶级是返璞归真一样,越简单的代码越不简单。
**5. 可复用性(reusability)**
简单来说就是减少重复代码的书写,DRY设计原则:Don’t Repeat Yourself。通俗来说,我们学函数,学类,封装组件,目的之一不也是为了可复用性吗。
**6. 可测试性(testability)**
这个提及较少但确实很重要,尤其是当你被测试人员连环呼叫的时候。
- JS系列
- jQuery和axios的同步请求
- FormData和文件上传
- Http请求参数系列
- 面向对象:JS中的类与继承
- super关键字总结
- import和require语法的报错解决
- 常用的N个JS函数
- ES6新增的Set和Map
- 关于this的学习
- 人人都要会的防抖和节流
- AJAX的简单实现
- Vue
- nuxt
- 在nuxt中引入qrcode或者其他依赖包
- iVew
- 树形控件Tree的render函数
- 自定义组件:Upload封装
- React
- antd自适应高度表格
- 两个常用生命周期函数总结
- antd表格跨行处理(动态数据)
- antd中表单自定义验证踩坑
- Form+Upload实现文件上传全步骤
- 在react中实现Excel导出
- 表格嵌套和子表展开的处理
- 关于表格打印的一点思路
- Select组件中的模糊筛选
- echarts使用与总结
- echarts在react中的使用
- 简单的双层上下钻
- 复杂的多层上下钻(多次请求)
- 复杂的多层上下钻(单次请求)
- Git使用
- git基础一:安装git以及基本命令
- git基础二:add和commit
- 地图API
- 手动绘制点来实现驾车导航
- 地图自定义控件的使用
- 利用自定义标注实现头像展示
- 杂谈与总结
- 谈代码的可读性
- 简单总结判断代码质量的维度
- 3W模型看面向对象
