最近岗位偏管理了一些,经常要评价很多同事的代码质量,才发现自己有点专业属于匮乏,所以总结了一点内容,方便自己后面运用。

代码质量"高"的特征和表现是什么呢?

代码质量高指代码:可维护性、可读性、可扩展性、灵活性、简洁性、可复用、可测试性。其中可维护性、可读性、可扩展性是最重要的三个指标。

可维护性

可维护性是一个主观性很强的评判标准,因为熟悉系统的资深工程师可能会任务易维护,但是资历浅的工程师就会认为难维护。

  • 所谓可维护性就是指,在不破坏原有代码设计、不引入新的BUG的情况下,能够快速地修改或者添加代码。
  • 所谓代码不易维护就是值,修改或者添加代码需要冒着极大的引入新bug的风险,并且需要花费很长的时间才能完成。

可读性

代码的可读性从如下几个方面来进行评价。

  • 是否符合编码规范、命名是否达意、注释是否详尽、函数是否长短合适、模块划分是否清晰、是否符合高内聚低耦合等。

但是最简单的评价标准就是让同事来做Code Receive,如果同事能够轻松的读懂你的代码,那就是可读性很好,反之就是需要改善代码了。

可扩展性

  • 可扩展性表示,我们在不修改或少量修改原有代码的情况下,通过扩展的方式添加新的功能代码。

灵活性

代码灵活性主要提现在易扩展方面。

简洁性

我们要遵从KISS原则,代码要尽可能的简单;但是思从深而行从简,真正的高手能云淡风轻地用最简单的方法解决最复杂的问题。这也是一个编程老手跟编程新手的本质区别之一。

可复用性

  • 可复用性是很多设计模式、思想、原则所要达到的最终效果。

可测试性

  • 可测试就能从侧面上非常准确地反应代码质量的好坏。

要写出满足上述评价标准的高质量代码,我们需要掌握一些更加细化、更加能落地的编程方法论,包括面向对象设计思想、设计原则、设计模式、编码规范、重构技巧等。

如:

  • 面向对象中的继承、多态能让我们写出可复用的代码;
  • 编码规范能让我们写出可读性好的代码。
  • 设计原则中的单一职责、DRY、基于接口而非实现、里氏替换原则等可以写出易复用、灵活、可读性好、易扩展、易维护的代码;
  • 设计模式可以写出易扩展的代码。
  • 持续重构可以时刻保持代码的可维护性。

代码质量好坏如何评判相关推荐

  1. 代码质量与规范,那些年你欠下的技术债

    提到"质量"二字时,我们的第一反应往往是"有多少BUG?""性能好不好?"这样的问题.我们对软件产品或服务的质量定义看其能不能满足用户的需求 ...

  2. 从哪些维度评判代码质量的好坏?如何具备写出高质量代码的能力?

    文章目录 如何评价代码质量的高低? 最常用的评价标准有哪几个? 1. 可维护性(maintainability) 2. 可读性(readability) 3. 可扩展性(extensibility) ...

  3. 如何判断百度query需求来评判网页质量好坏

    用户为满足自己某种需求而来到搜索引擎的,判断用户的需求是做好网站的开始.只有准确地判断出用户需求,了解用户搜索的目的,才能合理地衡量出一个网站结果的质量好,做好搜索的同时,也得注重网站的内容.下面53 ...

  4. 如何评价代码的好坏?

    我们一般从可维护性.可读性.可扩展性.可测试性.可复用性.简洁性来评价代码的质量. 可维护性 所谓维护无外乎就是修改bug.修改老的代码.添加新的代码之类的工作.代码易维护指的是在不破坏原有代码设计. ...

  5. 淘宝开源代码质量检测工具!

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 好的代码一定是整洁的,并且能够帮助阅读的人快速理解和定位. ...

  6. Python心得--如何提高代码质量

    前些日子用python基于prometheus开发了一个vsphere volume卷监控的exporter,于是跟vsphere的api(pyvmomi)接口打上了交道,开发的过程中你会发现pyvm ...

  7. 淘宝开源的代码质量检测工具!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源:github.com/ice-lab/icewor ...

  8. 在淘宝,我们是这样衡量代码质量的

    简介: ![img](https://img.alicdn.com/tfs/TB1ZTW4VEY1gK0jSZFMXXaWcVXa-2304-1194.png) **越高级别的程序员往往越看重代码质量 ...

  9. java 代码解析工具_改善 Java 代码质量的工具与方法

    原标题:改善 Java 代码质量的工具与方法 我们可能见过上面的有关代码质量的图片,究竟如何衡量一段代码好坏? 代码质量是什么?为什么它很重要? 作家通过他的著作来讲述了一个清晰的.令人信服的故事.他 ...

最新文章

  1. <软件过程与改进>计算大题考点总结与例题
  2. Java 技术篇-借助自定义对象实现函数返回多个不同类型的值实例演示
  3. 解决无法创建txt文档
  4. 计算机与外部设备通讯的接口,总线接口与计算机通信(四)USB外部总线(初级认识)...
  5. 工具的特性_16 个好用的 Code Review 工具
  6. Linux 文件与目录管理+用户管理命令(详解+练习)
  7. vue饼图组件_vue2.0 自定义 饼状图 (Echarts)组件
  8. 二叉树删除节点,(查找二叉树最大值节点)
  9. EditText,TextView显示图片,超链接,颜色等
  10. python系统性能模块笔记
  11. xmlreader php 读取某节点,php – 使用XMLReader选择父节点
  12. iris数据_Python数据分析02-Iris-直方图与KDE
  13. 《Business Rules Engine Overview》--《业务规则引擎概述》write by Mark Kamoski
  14. jdk Collections类
  15. MySQL之23:59:59进位
  16. 手机java update_手机里的java菜单老是自动更新为什么啊
  17. Linux 虚拟机VMware安装失败,提示没有选择磁盘no disks selected
  18. 一件程序猿T恤的故事
  19. The Willpower Instinct
  20. Python之人民币与美元的换算

热门文章

  1. [关于决策单调性DP]
  2. 关于微信的几点更新与操作
  3. 微信weixin://xxx 分析
  4. Shell脚本-NF、FS(OFS)、RS(ORS)、NR(FNR)
  5. 电脑连接手机热点用百度云下载一会后断网
  6. 智能水表自动抄表协议cjt188远传协议,支持地址自动分配检查,灵活好用、Mbus通讯测试工具是一款水表等设备的测试工具
  7. maximo 入门知识
  8. Ubuntu虚拟机识别不了SD卡的解决办法
  9. 5.13 按照单元格的颜色对工作人员进行排序 [原创Excel教程]
  10. android 通知栏授权,Android 消息通知栏Notification使用和权限