李锋镝的博客

  • 首页
  • 时间轴
  • 插件
  • 评论区显眼包🔥
  • 左邻右舍
  • 博友圈
  • 关于我
    • 关于我
    • 另一个网站
    • 我的导航站
    • 网站地图
  • 留言
  • 赞助
Destiny
自是人生长恨水长东
  1. 首页
  2. 原创
  3. 正文

何时重构?

2019年6月26日 41点热度 0人点赞 0条评论

何时重构?

我们知道了何谓重构和为何重构,那么什么时候才是重构的好时机呢?我们是不是应该安排专人专门安排时间来进行重构呢?

答案是否。

重构本来就不是一件需要专一去做的事情(并不是说重构不重要),重构应该随时随地进行!记住一点:不应该为重构而重构。之所以重构,是因为你要做别的事情,而重构可以帮助你把事情做好。

三次法则(事不过三,三则重构)

类似的事情,第一次去做的时候尽管去做,无须考虑太多;第二次还是需要做重复的事情的时候,会产生反感(但是还是能做);但是第三次再次去做类似的事情的时候,你就应该也必须重构了。

添加功能时重构

当我们想给代码添加新功能的时候,不可避免的需要修改旧的代码——可能是别人写的,也可能是自己写的。但是无论何时,如果你不能快速的理解相关代码,你就应该重构(之所以这么做,一是为了自己下次看见这块代码时更容易理解,最主要的原因是:在新增功能时把代码结构理清楚,就可以理解更多的东西)。

修补错误时重构

当收到错误或者bug报告的时候,就是需要重构代码的信号。因为代码还不够清晰——没有清晰到一眼看出bug的程度。

复审代码时重构

代码复审对于编写清晰代码很重要。我的代码对我自己来说很清晰,但是他人则不一定。这是无法避免的。代码复审会让更多的人提出更好的、更有用的建议,对于这些建议可以考虑是否可以通过重构来实现它们。如果可以,就立即动手重构。这样可以更深层次的理解代码,提出更多恰当的建议。

重构还可以帮助代码复审得到更具体的结果。不仅仅是建议,而且其中的许多建议能够立即实现。

除非注明,否则均为李锋镝的博客原创文章,转载必须以链接形式标明本文链接

本文链接:https://www.lifengdi.com/article/317

相关文章

  • 何谓重构?为何重构?
  • SpringBoot常用注解
  • CompletableFuture使用详解
  • 金融级JVM深度调优实战的经验和技巧
  • SpringBoot 中内置的 49 个常用工具类
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可
标签: JAVA 重构
最后更新:2019年6月26日

李锋镝

既然选择了远方,便只顾风雨兼程。

打赏 点赞
< 上一篇
下一篇 >

文章评论

1 2 3 4 5 6 7 8 9 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 46 47 48 49 50 51 52 53 54 55 57 58 60 61 62 63 64 65 66 67 69 72 74 76 77 78 79 80 81 82 85 86 87 90 92 93 94 95 96 97 98 99
取消回复

我见青山多妩媚,料青山见我应如是。

历史上的今天(12月13日)

  • 2009年:美国诺贝尔经济学奖第一人萨缪尔森逝世
  • 2001年:美国宣布退出《反导条约》
  • 1974年:马耳他宣布成为共和国
  • 1971年:美、法总统发表联合公报宣布美元贬值
  • 1553年:法国国王亨利四世出生
  • 更多历史事件
最新 热点 随机
最新 热点 随机
Java进阶实战:10个高效技巧+环境管理指南,让代码简洁又优雅 Gemini 3 Pro 深度测评:多模态AI编程的跨代际突破,从一句话到完整应用的全链路革命 6款核心MCP协议工具让AI深度融入业务,告别“纸上谈兵” Python 3.12并发革命:大厂争相升级的底层逻辑与实战指南 TIOBE 12月榜单:C#有望摘得年度语言,R语言重返Top 10 WordPress实现用户评论等级排行榜插件
玩博客的人是不是越来越少了?准备入手个亚太的ECS,友友们有什么建议吗?使用WireGuard在Ubuntu 24.04系统搭建VPNWordPress实现用户评论等级排行榜插件Gemini 3 Pro 深度测评:多模态AI编程的跨代际突破,从一句话到完整应用的全链路革命双 Token 机制
蓝奏云地址怎么天天失效…… SpringBoot使用RestTemplate进行接口调用 揭秘大模型Token的诞生:从字节到子词的分词逻辑与底层算法 多层嵌套map对象转扁平化map 网站使用HarmonyOSHans字体 打造AI应用的高颜值答案展示:基于Vue3.5+MarkdownIt构建专业级富文本渲染组件
标签聚合
数据库 JAVA IDEA 架构 AIGC 多线程 docker JVM AI编程 MySQL Spring ElasticSearch 分布式 SpringBoot 设计模式 AI Redis SQL K8s 日常
友情链接
  • 临窗旋墨
  • 哥斯拉
  • 彬红茶日记
  • 志文工作室
  • 搬砖日记
  • 旧时繁华
  • 林羽凡
  • 瓦匠个人小站
  • 皮皮社
  • 知向前端
  • 蜗牛工作室
  • 韩小韩博客
  • 风渡言

COPYRIGHT © 2025 lifengdi.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Dylan

津ICP备2024022503号-3