代码重构的时机与方法

这篇具有很好参考价值的文章主要介绍了代码重构的时机与方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

🐱 个人主页:不叫猫先生,公众号:前端舵手
🙋‍♂️ 作者简介:2022年度博客之星前端领域TOP 2,前端领域优质作者、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!
💫优质专栏:vue3+vite+typeScript从入门到实践
📢 资料领取:前端进阶资料可以找我免费领取
🔥 摸鱼学习交流:我们的宗旨是在「工作中摸鱼,摸鱼中进步」,期待大佬一起来摸鱼(文末有我wx或者私信)


代码重构的时机与方法,重构,代码重构

前言

在软件开发中,我们将问题放在下图所示的某个位置,表明缺乏足够的技能、文化、工具或这些问题的组合。重构是一项复杂的工作,因此处于中间位置。进行重构有以下要素:
代码重构的时机与方法,重构,代码重构

技能

我们需要技能来知道哪些代码是坏的,即哪些代码需要重构。有经验的程序员可以通过他们对代码异味的了解来确定这一点。但是代码异味的界限是模糊的(需要判断力和经验),或许会有不同的解释,因此不容易理解学习;对于初级开发人员来说,理解代码异味似乎更像是一种第六感, 而不是一种技能。

文化

我们需要一种鼓励花时间进行 重构的文化和工作流程。许多情况下,这种文化是通过在测试驱动开发中使用的著名红绿重构循环来实现的。然而,在我看来,测试驱动开发更困难。红绿重构也很难被在遗留代码库中进行重构所替代。

  • 工具一 我们需 要一些东西来帮助确保我们所做的事情是安全的。实现这一目标的最常,见方法是自动化测试。但如前所述,学习如何进行有效的自动化测试本身就很困难。

重构

重构是指在不改变代码功能的情况下更改代码,使代码可读性和可维护性更强。此外,我们考虑的重构类型在很大程度上依赖于使用面向对象的编程语言。

许多人认为编程就是编写代码;然而,大多数程序员会花更多的时间阅读代码并尝试理解代码,而不只是编写代码。这是因为我们处于一个复杂的领域,在不了解的情况下改变某些东西可能会导致灾难性的失败。

因此,重构的第一个论点纯粹是经济性的:程序员的时间是宝贵的,因此如果我们使代码库更具可读性,就可以节省出时间来实现新功能。第二个论点是,让代码更易于维护意味着缺陷更少且更容易修复。第三个论点是,好的代码库更有意思。当阅读代码时,我们会在脑海中建立一个关于代码在做什么的模型;我们想同时记在脑中的东西越多,就越是筋疲力尽。这就是从头开始会更有趣的原因,也是调试会令人害怕的原因。

什么时候重构

如果你定期进行重构,那么重构效果最好,成本最低。因此如果可以,我建议你把重构融入日常工作。大多数文献都提出了红绿重构工作流程;但正如前面提到的,这种方法将重构与测试驱动开发联系在一起,而在本书中,我们希望将它们分开并重点关注重构这一部分。因此,我推荐一一个更通用的六步开发工作流程来解决任何编程任务。

(1) 探索。通常,一开始我们并不能完全确定需要构建什么。有时客户不知道他们希望我们构建什么;有时客户的需求表述不明;有时我们甚至不知道任务是否可以解决。因此,总是要从实验开始,快速展开实施,然后可以与客户确认他们的需求。

(2)指定。一旦你知道需要构建什么,就让这一需求更明确。 理想情况下,这会导致某种形式的自动化测试。

(3)实施(即实现代码)。

(4)测试。确保代码遵循步骤(2)中的规范。

(5)重构。在交付代码之前,确保下一个人可以轻松使用。

(6)交付。交付方式有很多种,最常见的是拉取请求或推送到特定分支。最重要的是要保证你的代码可以送达用户手中。

本书目录

《重构的时机与方法》目录如下:
代码重构的时机与方法,重构,代码重构
代码重构的时机与方法,重构,代码重构

最后

送给同行两句话,共勉之。
“Talk is cheap, show me the code.”
“You build it, you run it.”
购书链接直达文章来源地址https://www.toymoban.com/news/detail-603306.html

到了这里,关于代码重构的时机与方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Day53】代码随想录之动态规划part10——买卖股票的最佳时机、买卖股票的最佳时机II

    昨天已经把打家劫舍的问题解决了,最后一个题目涉及到树形dp比较难(等到二刷的时候再重点看下),今天的任务是解决股票问题。 今日任务: 121.买卖股票的最佳时机 122.买卖股票的最佳时机II Leetcode题目:【121.买卖股票的最佳时机】 因为此题中买卖股票只能买卖一次。

    2024年03月15日
    浏览(96)
  • 【配电网重构】基于混合整数二阶锥配电网重构研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,a半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 随着经

    2024年02月07日
    浏览(56)
  • 代码重构 —— 化繁为简

    本文涉及 KISS原则,DRY原则 比如渲染场景管理中,最扁平的架构:manager / scener / object 三层。 都是1对N的关系 一个mgr管理一群scener,一个scener下面N个object, 一些新手会把object搞成一个,在object下面搞一层 layer,最终object的含义非常不同了, 让我也“眼前一亮”,居然还能这

    2024年01月18日
    浏览(64)
  • selenium 重构-----代码分层优化

    通过对上一篇文章中脚本的观察发现,上面的代码将函数和其他测试代码放在同一个文件中。随着自动化测试的深入,测试的内容和范围会逐步增加,这样的编码方式,不利于提高代码的可扩展性和可维护性。 上一篇文章:对selenium中元素定位方法进行重构再封装 为了更好的

    2024年01月19日
    浏览(36)
  • 研习代码 day42 | 动态规划——买卖股票的最佳时机 I II

            1.1 题目         给定一个数组  prices  ,它的第  i  个元素  prices[i]  表示一支给定股票第  i  天的价格。         你只能选择  某一天  买入这只股票,并选择在  未来的某一个不同的日子  卖出该股票。设计一个算法来计算你所能获取的最大利润。

    2024年02月03日
    浏览(41)
  • 编程之道:【代码重构】提升代码质量的关键一步

    在软件开发的旅程中,不仅仅是代码的编写,还包括了代码的维护和改进。代码重构是其中的一个重要环节,它强调的是改进代码的内部结构,使其更容易理解、维护和扩展。本文将探讨代码重构对于改进代码质量的重要性。 代码重构是什么? 代码重构是一种在不改变软件

    2024年02月11日
    浏览(37)
  • 重构改善既有代码的设计-学习(一):封装

              一些记录性结构(例如hash、map、hashmap、dictionary等),一条记录上持有什么字段往往不够直观。如果其使用范围比较宽,这个问题往往会造成许多困扰。所以,记录性结构应该被封装成为一个类。         例如:         应该被重构为:           我们通常鼓

    2024年01月21日
    浏览(35)
  • 程序员如何高质量重构代码?

    有道无术,术尚可求也,有术无道止于术。你好,我是程序员雪球,今天和你聊聊程序员重构代码那些事。   程序员重构代码的重要性不言而喻,但如何进行有效的重构呢?下面是一些建议和指导。 为什么要重构? 重构是提高代码质量和可维护性的重要手段,旨在在不改变

    2024年02月15日
    浏览(70)
  • 【Java设计模式 规范与重构】 二 重构的保障:单元测试,以及如何提高代码可测试性

    其实之前的工作中强调过很多次自己做测试的重要性,例如讲单元测试的: 【C#编程最佳实践 一】单元测试实践 ,讲单元测试规范的 【阿里巴巴Java编程规范学习 四】Java质量安全规约 ,讲接口测试的: 【C#编程最佳实践 十三】接口测试实践 ,这里旧事重提就不再详细展开

    2023年04月25日
    浏览(64)
  • 编程之道:【代码重构】消除异味和坏味道,提升代码质量

    在软件开发中,有时会遇到一些让人不爽的情况,代码也不例外。这些情况被称为“代码异味”或“坏味道”。它们可能表明代码存在问题,需要进行重构以提升质量和可维护性。本文将介绍代码异味和坏味道是什么,以及如何识别和解决它们。 代码异味和坏味道是什么?

    2024年02月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包