“简单没那么容易做到”

重构之道

http://www.programmer.com.cn/4461/

很棒的一个访谈,非常喜欢这种10年20年的一直在第一线实践的hardcore专家的经验的总结。

文中很多东西我们都听过了,但是仍旧很值得记录笔记,听过的东西和已经变成习惯或者说自身一部分的东西还是两码事。

就像前几天看过的一个创业哥的postmortem,他总结的东西他自己也说在创业之前都知道了,但是还是一个个错误犯过来,直到公司挂了。

听过的东西和自己的东西是两码事。

“构建可运行的最简系统,然后毫不留情地重构”----这个原则非常非常棒,也是最近自己在写东西时候越发强烈的感觉。

当然这个里面省略了一些东西,我认为应该是这样:

  • 在比较高的粒度上,对系统的架构一定要做好
  • 在实现过程中一些正确的基本原则一定要遵循----松耦合结构好于进耦合等等
  • 在代码实现层面遵循最简原则,也即是这个:“构建可运行的最简系统,然后毫不留情地重构”

原因也很直白,在大局定了之后,细节上的实现方式重要程度下降,但是细节的工作量和思维负担确实高的恐怖。

在细节的层面上去发散的设计是不明智的选择,这个时候需要去收敛,也就是“构建可运行的最简系统”。

构建之后可以说是得出了一个细节的最小集,目标锁定,因为实现过了大脑也对此更加熟悉,再来一轮重构,可以说是把问题在速度和质量上比较完美的解决了。

这里“粒度”是一个没有定义的东西,只能靠程序员自己的基本功去把握的火候了。

很多书讲了很多,都在试图避免重写代码,其实代码重写根本就不是一个什么费劲的事情,没有必要那么忌惮。

之前看得一个统计是%5的代码会出现在最后产品中,%95是被干掉的,自己实践的结果也差不多,没法在细节层面上把一个大的系统设计出来,必然是大量的代码去慢慢打磨。

被干掉的代码其实也就是探索过程,写代码其实也是设计的一个过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值