写点什么

重构之十六字心法(一)

  • 2020-01-16
  • 本文字数:525 字

    阅读完需:约 2 分钟

重构之十六字心法(一)

这篇文章是我写过的所有文章里最难产的一篇,前前后后斟酌酝酿了好几个月。因为重构对于我来讲真的太重要也太深刻了,包含的内容和想说的也太多了。如果说这几年自己觉得在哪些方面的收获最大的话,非重构莫属了。

重构的威力

软件开发的难点在于不确定性,邱大师写过一篇《软件开发为什么很难》就提到


软件的复杂性来自于大量的不确定性,而这个不确定事实上是无法避免的。

需求在变,语言在变,框架在变,工具在变,框架在变,架构在变,趋势在变,甚至连组织结构都在不断的变化。


随着变化的不断产生,软件变得越来越复杂。就像那篇经典的《架构腐化之谜》中提到的一样,我们的软件也会像一个生命体,经历从新生到衰老腐化的过程。


而重构就像是一次手术,通过优化内部结构,减慢腐化衰老,让软件“青春永驻”,可见重构的威力。


重构教会了我如何通过高效安全地改善内部设计以使之适应外部的不确定性和频繁变化。

重构威力无边,就像是武侠小说中的一件插在石头上的上古神器,但同样也不是一般人可以轻松驾驭的。


如果运用不当,造成的损害也会同样巨大。



如何将重构这件神器运用自如,发挥其最大的威力,也是我一直在探寻的,即重构的手法和心法。


本文转载自健荐公众号。


原文链接:https://mp.weixin.qq.com/s/SyKu1m7FVXzB5fInmj44wQ


2020-01-16 11:511117

评论

发布
暂无评论
发现更多内容

软件测试/测试开发丨结对编程助手 GitHubCopilot

测试人

人工智能 程序员 软件测试 ChatGPT Copilot

质量高的http代理ip需要具备什么特点?

巨量HTTP

代理IP http代理

OpenHarmony定义组件重用样式:@Styles装饰器

OpenHarmony开发者

OpenHarmony

文件和图像比较软件:Kaleidoscope激活最新版

胖墩儿不胖y

Mac软件 对比工具 对比软件

JavaScript中的浮点数之谜:为什么0.1 + 0.2 不等于 0.3?

Lee Chen

JavaScript 前端

开源大咖说 | openEuler: 技术引领,走向世界

openEuler

Linux 开源 操作系统 openEuler 资讯

MySQL到TiDB:Hive Metastore横向扩展之路

vivo互联网技术

大数据 hive 元数据 TiDB 横向扩展

MAC手动修复『已损坏』问题 终端运行命令报错处理

展初云

Mac Mac软件

关于可逆计算的讨论--答圆角骑士魔理沙

canonical

低代码 领域模型 可逆计算 Nop平台

每天打卡,跟冰河肝这些项目,技术能力嗖嗖往上提升

冰河

程序员 分布式 微服务 架构师 项目实战

为什么 Lettuce 会带来更长的故障时间?

阿里技术

TCP

Dubbo源码浅析(一)—RPC框架与Dubbo | 京东云技术团队

京东科技开发者

spring dubbo RPC RPC框架 企业号9月PK榜

探索AI技术对古彝文保护与研究应用

袁袁袁袁满

实用指南:掌握 Node.js 文件复制的最佳实践

Apifox

JavaScript node.js 程序员 后端 教程

HarmonyOS非线性容器特性及使用场景

HarmonyOS开发者

HarmonyOS

【稳定性】秘密武器--功能开关技术 | 京东物流技术团队

京东科技开发者

稳定性 企业号9月PK榜 功能开关

软件开发全套资料获取

金陵老街

百度交易中台之内容分润结算系统架构浅析

百度Geek说

大数据 架构 交易 调度任务 企业号9月PK榜

Mac如何内录系统声音

展初云

录屏 Mac软件

Databend 源码阅读:配置管理

Databend

华为负一屏手机充值限时优惠来袭,快来薅羊毛

最新动态

构建DevSecOps中的代码三层防护体系

云计算 敏捷开发 软件开发 华为云

喜迎双节,测评征文活动等你来参加!

InfoQ写作社区官方

AI 大模型

重构之十六字心法(一)_语言 & 开发_王健_InfoQ精选文章