分享两顶帽子
最近在看《重构:改善既有代码的设计》的时候,我看到到一个有趣的比喻,叫做”两顶帽子“。这个比喻讲的是,在使用重构技术进行软件开发的时候,需要在不同时间专心做不同事情。当重构代码的时候,要专心重构,不要添加新功能。在做新功能的时候,不要影响旧代码。
细节
两顶帽子的思维看上去简单,我发现也隐藏了一个容易被我忽视的细节。我联想到自己写作配图的经历。以前配图的步骤,往往会混在写作的过程中。比如写到某个地方,我想我可能要画个图,或者搜索一张图,以更好阐述我的问题。起初,我很容易分心,在写作的过程还要考虑图的问题。如果早点知道两顶帽子的思维,我会更早考虑到把这两件事分解开。线性输出文章的过程中,很容易想当然,凭直觉认为文字和图也是按顺序去输出。忽视,或者说没有看清两件性质就不一样的事情,一起处理,就加大了心智的负担。
《决策与判断》里面有一句话说得好:”不是先看见再定义,而是先定义再看见。“要在重构之外,活学活用好两顶帽子的思维,明确定义,看来是不可绕过的前提。
心态
两顶帽子,还启发了我要有活在当下和拿得起放得下这两个心态。分清帽子之后,戴不同的帽子就做不同的事情,不再分心去想另一顶帽子,这显然是一种活在当下的实践。拿到生活中来说,我发现自己事情没有处理好,可以多两个角度来反思。一是有没有找到帽子,不同帽子负责什么,有没有想清楚。二是有没有在戴不同帽子的时候,全然临在当下,切换自己的心智模式。
总结
两顶帽子确实是一个有趣的比喻,下次做事乱糟糟的时候,我就可以想想自己是因为没有戴好帽子,还是因为两顶帽子一起戴。