• 《程序员修炼之道》系列 | 邪恶的重复


    视频地址:https://www.zentao.net/programmer/evil-repetition-80330.html

    一、什么是DRY?

    Don’t repeat yourself,简称DRY,是软件工程中广泛且被普遍接受的最佳实践。DRY原则上是要求系统中的每一部分,都必须单一、明确、权威地表达。其实就是可靠地开发软件、并让开发项目更易于理解和维护。DRY原则中最基本的就是不要重复代码。

    在软件工程中,“干净的代码”是一种理想的追求。能够辨别重复,并通过适当的实践消除重复的程序员,比一直在重复代码的程序员,写的代码会更清洁。

    很多人将DRY限定为“不要写重复的代码”,但它更强调的是对知识和意图的重复。

    二、重复是怎样发生的?

    编程过程中,我们所见到的大多数重复问题,大致可以分为以下四类:

    1、强加的重复 大多数人都在无力避免重复的情形下工作过。

    比如有的项目可能会使我们重复共有的定义和过程,或有的编程语言自身要求某些重复信息的结构。

    比如文档规范中经常强调的注释,但事实上无用的注释会使代码变得糟糕。如果运用DRY的法则,就是把浅显易懂的知识放在代码中,把注释保留给其他高级的说明。否则,就是在重复知识。

    2、无意的重复 来自代码设计中的错误,通常会让开发者意识不到他们在重复信息。

    3、无耐性的重复 这种重复通常是由于开发者偷懒,认为重复会让功能的实现变得更容易。也会因项目时间的限制,而驱使一部分开发者拷贝、修改原来的代码,走捷径。

    欲速则不达,重复也许可以节省几秒钟,但一旦出现了问题,反而会花费更多的时间去修复。

    4、开发者之间的重复 最典型的就是下面这个例子。美国的一个州,在对政府电脑系统进行千年虫问题检查时,审计发现有超过一万个程序,每个程序都包含不同版本的社保号验证代码。

    同一个团队中不同开发者的重复,可能是最难检测和处理的。这些重复可能存在好多年,都不容易被发现,会导致各种维护问题。

    三、初步实现DRY,可以尝试这样做

    1、停止重复不必要的代码;

    2、当代码重复 3 次时,停止并思考是否需要进一步抽象代码或工具类;

    3、对历史遗留代码增加测试程序,梳理逻辑,增加说明文档并通知相关人员;

    4、适时讲解项目,明确项目目前已有的功能和代码,减少因不了解项目而造成的重复。

    写好一段代码需要时间,但写一段好代码需要更长时间。把优秀的软件设计原则变成习惯,会节省很多开发时间,更利于维护和扩展软件项目。Don’t repeat yourself,你还有其他更好的方法吗?欢迎评论区留言~

    《程序员修炼之道》系列更多视频可戳:https://www.zentao.net/programmer.html

  • 相关阅读:
    jQuery实现 自动滚屏操作
    jQuery实现全选、全不选以及反选操作
    读曾国藩
    把时间当作朋友 之感知时间
    把时间当作朋友4未知永远存在
    Android N 设置中语言列表介绍
    如何编译ICU资源
    idea常用快捷键
    shell 笔记
    Json笔记
  • 原文地址:https://www.cnblogs.com/zentao/p/14662469.html
Copyright © 2020-2023  润新知