Be insensitive, and keep a lifelong growth mindset.

0%

初晴

1

这周从一个印度大客户那边得到了关于在产品Performance方面进一步提升的需求,于是花了不少时间重新梳理和分析了之前的code,的确是发现了不少潜在的可以通过重构进一步提高的地方。反观之前在开发新feature的过程中,往往总只是过于专注功能本身的实现,而缺乏了宏观上对于代码结构和性能的优化。

Martin Fowler专门有一本书叫做《重构:改善既有代码的设计》(Refactoring: Improving the Design of Existing Code),就是来解释了重构的原理和最佳实践方式,并且指出了何时何地应该开始挖掘的你的代码并且以求改善。

其实在实际工作中,项目经理往往并不会主动要求开发者进行重构,甚至当开发者提出重构需求时还会招来反对。比如一个项目还剩一个礼拜,但还有N个需求没完成,现在你请求花费两天时间,“什么都不做”,开发者几乎都无法承受这样的压力。但是,比延误工期更严重的是,一个臃肿不堪,难以修改的项目,最终将面临添加需求困难,运行效率低下,以至于达不到可用的性能,因此最终失败几乎无可避免。

因此作为开发者来说,如何处理好这个矛盾呢?一个比较可行的方法是,把重构当做开发的一部分,一边开发一边重构,先快速的堆叠代码,实现功能,然后在功能不变的基础上(写好单元测试),逐步重构。

2

周六一早,从湾区万里无云飞到了西雅图烟雨朦胧,无论是在《北京遇见西雅图》,《西雅图不眠夜》还是《晚秋》,西雅图给人的印象一直是个被文艺和浪漫笼罩着的城市,和这烟雨倒也恰好相得益彰。

雨并不算大,街上的人也不多,还真是很久没有一个人到一个陌生的城市了,一个人打着伞漫步在Downtown,就这么一路走走停停看看,经历了静寂的Pioneer Square, 造型特异的City Library,Waterfront的摩天轮,繁忙的Pike’s Market,第一家星巴克,还有Chihuly玻璃艺术馆,最后登顶Space Needle,整个西雅图的美景净收眼底。此时天气竟然也出乎意料地开始放晴,不远处一抹惊艳的彩虹横跨于城市上空,美不胜收。

风雨后的初晴往往更为可贵和迷人。