(文末福利)如果代码莫名其妙跑起来了,就不要去动它了……吗?

获取《重构:改善既有

设计细思维导图

虽然代码还是可以跑,但是各种规则越来越复杂、核心继承体系越来越凌乱、系统的维护工作越来越重……

1999 年,Martin Fowler 作为技术顾问造访了一个项目,他建议项目经理好好整理这些乱糟糟的代码。然而,项目经理表示:??算了吧??

《重构》出版 22 年后,已成为软件开发领域不可替代的经典。这本书解释了重构的原理和最佳实践方式,并给出了修改代码的动机和具体案例,值得反复消化咀嚼。

这本书还凝聚了多位软件开发领域专家的宝贵经验:摩根大通架构师 Bill Opdyke 在第 13 章记述他将重构技术应用到商业开发过程中的一些问题;软件开发方法学泰斗 Kent Beck 和 Don Roberts 合写了第 14 章,展望重构技术的未来——自动化工具;Kent Beck 还写了最后一章,总结如何学习重构。

你将从这本书中获得:

  • 理解什么是重构、为什么要重构、何时重构,理解

  • 理解重构原则:一次一小步地修改代码并多次测试

  • 实操演练重构的动机和方法,使既有代码更易理解、提升软件的可维护性

无论你是软件工程师还是产品经理,都需要翻一翻这本经典;而系统设计师和架构师则更有必要了解重构原理,根据需要在自己的项目中运用重构技术、优化系统性能。

  为何重构strong>

Martin Fowler 曾提及,任何一个傻瓜都能写出计算机可以理解的代码,唯有能写出人类容易理解的代码的,才是优秀的程序员。

所谓程序设计,便是与计算机交谈。你编写代码告诉计算机做什么事情,它的响应则是按照你的指示行动。你得及时填补「想要它做什么」和「告诉它做什么」之间的缝隙。这种编程模式的核心就是「准确说出我想要的」。除了计算机之外,你的源码还有其他读者。计算机是否多花了几个小时来编译,又有什么关系呢一个程序员花费一周时间来修改某段代码,那才要命呢——如果他理解了你的代码,这个修改原本只需一小时。……而很多时候,那个未来的程序员就是我自己。

《重构(第2版)》译者熊节也曾谈到,「编程其实是个 会活动」

一方面,程序员要把自然语言说出来的需求翻译成机器能运行的机器语言;另一方面,翻译出来的结果(也就是代码)还要支撑团队(包括技术和非技术的团队)不断地在它基础上协作和交流。……编程的大挑战不是把代码写出来,而是要在代码的基础上建立有效的多方沟通。

那么,我们何时需要重构第三章列举了一些「代码的坏气味」。「坏气味」指的是代码中某些不完美之处,开发人员可以通过这些细节上的征兆在代码中追捕到更大问题。小编不禁联想到了《Clean Code》中的「好气味」和「坏气味」

  一个重构案例

众所周知,重构有风险,挖坑需谨慎。如果重构方式不恰当,风险反而更大。

即可获得小编整理的《重构:改善既有代码的设计》高清思维导图

福利时间

你有什么重构经验可以分享吗strong>

敲代码的你,是如何沟通需求的strong>

对技术感兴趣的你,有哪些心头好书strong>

欢迎在评论区留言你的想法,

我们将选取一位小伙伴,

赠送纸质版

《重构:改善既有代码的设计》一本!

积累代码量很重要,

读书、读好书也很重要。

「Zilliz 好书推荐」栏目,

旨在与你分享技术成长相关的书籍,

与你一起先把书读厚,再把书读薄。

——————————————————————————

Zilliz 以重新定义数据科学为愿景,致力于打造一家全球领先的开源技术创新公司,并通过开源和云原生解决方案为企业解锁非结构化数据的隐藏价值。

Zilliz 构建了 Milvus 向量数据库,以加快下一代数据平台的发展。Milvus 数据库是 LF AI & Data 基金会的毕业项目,能够管理大量非结构化数据集,在新药发现、推荐系统、聊天机器人等方面具有广泛的应用。

解锁更多应用场景

aa462b46ae140b6d43d824e1c6298c0f.gif

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92531 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月18日
下一篇 2021年10月18日

相关推荐