设计模式概述

一、代码质量好坏如何评价

学习设计模式,我们就必须搞清楚设计模式到底在我们的编程过程中起到了怎样的作用,在编程世界中它处在一个什么样的位置,它到底是一种抽象的设计思想,还是一套具体的落地方案。

在学习设计模式之前,我们需要了解一下代码质量的评价标准和编程的方法论,我们经常会听到有人对项目代码进行评价,一般就会说:“代码写得很烂”或者“代码写得很好”。用“好”“烂”这样的词汇来描述代码质量,非常地笼统。对于程序员来说,辨别代码写得“好”还是“烂”,是一个非常重要的能力。这也是我们写出好代码的前提。

代码质量的评价标准非常之多,我这里就给大家介绍一下最常用的几个标准

评价代码的质量,有以下几个常用标准:

1 ) 可维护性

可维护性强的代码指的是:  在不去破坏原有的代码设计以及不引入新的BUG的前提下,能够快速的修改或者新增代码.

不易维护的代码指的是: 在添加或者修改一些功能逻辑的时候,存在极大的引入新的BUG的风险,并且需要花费的时间也很长.

代码可维护性的评判标准比较模糊, 因为是否易维护是针对维护的人员来说的,不同水平的人对于同一份代码的维护能力是不同的. 所谓 ''难者不会 会者不难''. 对于同样的系统,熟悉它的资深工程师会觉得代码可维护性还可以,而新人则会因为能力不足、了解不够深入等原因觉得代码的可维护性不是很好.

2 ) 可读性

软件开发教父,Martin Fowler曾经说过一句话: "任何傻瓜都能够编写计算机能理解的代码,而优秀的程序员能够编写人类能理解的代码。" 这句话的意思非常容易理解,就是要求我们写出的代码是易读的、易理解的,因为代码的可读性会在很大程度上影响代码的可维护行性.

code review ( 代码审查,一种测试代码可读性的手段 )

1.检查代码风格和编程规范: 代码是否符合编码规范、命名是否达意、注释是否详尽、模块划分是否清晰等

2.检查常规的 bad smell 和代码 bug: 是否存在重复代码、过长函数、过大类、过于亲密的两个 classes等

3 ) 可扩展性

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

可扩展性的背后其实就是: "对修改关闭,对扩展开放" 这条设计原则,后面我们会详细的讲解

4 ) 灵活性

"灵活" 是指在添加新代码的时候,已有代码能够不受影响,不产生冲突,不出现排斥,在保证自身不遭到破坏的前提下灵活地接纳新代码。

下面的几个场景,可以体现代码的灵活

1.添加新的功能代码时,原有代码已经预留了扩展点,我们不需要修改 直接在扩展点上新增代码即可.

2.当我们想实现一个功能模块时,发现原有代码中,已经抽象出了很多底层可以复用的模块、类等代码,我们可以直接拿来使用

3.当我们使用某组

相关推荐

  1. 设计模式概述

    2024-02-23 06:24:01       32 阅读
  2. 设计模式概述

    2024-02-23 06:24:01       31 阅读
  3. 设计模式概述

    2024-02-23 06:24:01       17 阅读
  4. 设计模式-概述

    2024-02-23 06:24:01       14 阅读
  5. 软件设计模式概述

    2024-02-23 06:24:01       10 阅读
  6. 软件设计模式概述

    2024-02-23 06:24:01       6 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-23 06:24:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-23 06:24:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-23 06:24:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-23 06:24:01       18 阅读

热门阅读

  1. 设计模式--原型模式和建造者模式

    2024-02-23 06:24:01       28 阅读
  2. Json简介与基本使用

    2024-02-23 06:24:01       27 阅读
  3. Sora - 探索AI视频模型的无限可能

    2024-02-23 06:24:01       30 阅读
  4. 20240222作业

    2024-02-23 06:24:01       24 阅读
  5. IOS总体框架介绍和说明

    2024-02-23 06:24:01       29 阅读
  6. vue3 之 数据格式化函数

    2024-02-23 06:24:01       24 阅读
  7. 【shell】shell判断的几种方式

    2024-02-23 06:24:01       29 阅读
  8. python第七节:条件、循环语句(1)

    2024-02-23 06:24:01       26 阅读
  9. Pandas读取excel表并新增一列后存储

    2024-02-23 06:24:01       27 阅读