博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Don’t Be Afraid to Break Things
阅读量:5099 次
发布时间:2019-06-13

本文共 1254 字,大约阅读时间需要 4 分钟。

      近期看了一本书《97 Things Every Programmer Should Know》. 其中一条“Don’t Be Afraid to Break Things”。我对这句话的理解是:在察觉需求和设计不合理的第一时间,要有勇气和耐心去解决;

      在实际工作中,我们遇到很多次这种情况。随着对核心业务理解的加深,以前一些不必要或者不合理的设计就会暴露出来。这时,我们需要立刻采取行动去解决,可能会耽误一些进度,但我想留下来凑合的结果会更糟糕,而且越到后面影响越大,修改的代价也越高。下面我想分享文中的Key Points:

1. changing one thing always manages to break another unrelated feature

     典型的设计坏味道:脆弱性,对系统某模块的改动会导致毫无关联的其他模块出问题。当我们发现这种情况,意味着我们需要重构。

2. A skilled surgeon knows that cuts have to be made in order to operate, but she also knows that the cuts are temporary and will heal

     我们知道系统存在大问题,但由于要着急上线,也担心大改动会导致问题失控,花费很多时间。所以,往往我们会选择治标不治本的方法。曾经听一个健康讲座,医生说:现在人特别忙,身体不适也没有时间检查,但是你总有时间住院的。所以,与后面住院治疗花钱费时相比,将问题在早期解决省时省力。

3. your team’s experience dealing with the sick system makes you all experts in knowing how it should work

     个人认为,现在是一个Problem Driven Growth时期,大家都很聪明,谁能最早遇到“高精尖”的问题,谁成长的就快。如同,大数据处理技术,中国就有领先的潜力,中国遇到大数据并发的情况相对较多。所以,遇到这种重构的机会,要珍惜,当做“熔炉体验”,进而转化为“巅峰体验”。

4. Slowly transition the old structure into the new one, testing along the way. Trying to accomplish a large refactor in “one big shebang”

     让子弹飞里面有一句话“步子迈太大,容易扯着蛋”,话糙理不糙。当我们开始重构,一定要循序渐进,即使出现问题,因为改动幅度小,也容易定位。如果急于求成,一次改太多,一旦出现问题失控,就崩溃了。

     粗浅分析,抛砖引玉~~~

转载于:https://www.cnblogs.com/zhouwei0213/archive/2013/02/23/Dont_Be_Afraid_to_Break_Things.html

你可能感兴趣的文章
js数组创建两种方法
查看>>
IOS自得其乐系列(一)-------------------加载动态图片
查看>>
Function Spec
查看>>
关于我 Jake Lin
查看>>
hue简单介绍
查看>>
现代服务业是什么?
查看>>
java学习笔记十——堆和栈的理解
查看>>
css遮罩蒙版效果 分栏效果
查看>>
rule.xml属性概念
查看>>
JDBC学习笔记
查看>>
css坑了我一下下之line-height
查看>>
ubuntu 16.04 u盘挂载以及卸载
查看>>
python 集合并集
查看>>
CSS样式书写顺序
查看>>
java解决跨域
查看>>
css scroll bug
查看>>
[编织消息框架][JAVA核心技术]动态代理应用8-IRpcReceive实现
查看>>
由一个经典布局问题引发的思考
查看>>
vue 字符串长度控制显示的字数超出显示省略号
查看>>
vim常用命令
查看>>