编程中一件有意思的事情
2022年5月12日 · 18 字 · 1 分钟 · 经验 随想 重构
重构,是一件有成就感的事情。
修改数据结构后删掉大段松散臃肿的代码的感觉让人很爽;函数紧密结合、简洁复用的画面很让人舒服。
但某刻我会发现:此时进行重构是不适合的,不仅不适合,我最应该做的事情,反而是继续在明知将来会重构的地方新加入一些 “旧模式” 的代码。
这很奇怪,为什么我要写一段明知在不久的将来会被删掉的代码呢?
有几个原因:
- 我必须把这一坨屎拉完整,才能让整个项目跑起来,否则,重构后的一些代码片段和重构前的代码杂糅在一起,可能会生养出一个跑不起来的怪物来,加重心智负担。
重构讲究的是小步快跑、稳步递进、合理降级。理想情况下,我需要保证对任何一小片段代码的重构都能使整体仍处于 work 的状态。 - 在写冗余代码的时候,通过审视此处的逻辑和结构,能更好地帮助验证重构思路是否正确。
- 把数据传来传去,才能逐渐明晰重构所预想的步骤中缺了些什么、多了些什么。
说起来比较简单,但我认为,
一个人没有亲身在泥沼里翻来覆去地打滚、绞尽脑汁地牵针引线过,是不会产生这种感悟的🥲
就是这样。很久没写文章了,遣词造句时脑子都 rust 住了