学会享受过程 ——读《重构》

in #cn6 years ago (edited)

花了22天,读完了“重构”,感觉如下:
v2-c2764e258bd9c7c120547927d42e027e_hd.jpg

对这本书又点相见恨晚,虽然平时也琢磨出一些道道,但是人家总结得体系化,感觉棒棒哒。

相比较书自带的Java示例,我更喜欢Python,所以自己一边看书一边把所有例子改造成了Python版本,代码在:https://github.com/greatabel/RefactoringPython 这里。

 一些感触就是:
  1. 软件开发相比于搬砖更像写作文,真心是一个动态的过程,代码需要新城代谢,不破不立:完成新功能只是软件开发中一部分工作,我觉得比例最多不超过70%。更多的是引入你的代码之后,你代码周边影响到的部分,是否需要进行微调/重构以反映新的现实。

  2. 破窗效应是真的,当你觉得代码是一团乱麻时候你需要很强大的心理动力才能去重写或者重构,重构的方式、方法、工具都可能过时了,说中介绍的Java你可能根本不用,可能你也不喜欢TDD,也不会拿出时间进行大规模重构,这些属于术的层面东西都会过气,死亡,但是重构的思想不死:每时每刻新增、修改代码后带上重构的帽子,想一想新的状况下需要做那些调整,这就足够了。

  3. 开发者是人不是神。 你不要追求完美,Done is better than perfect. 没有人能一次写出完美的代码。重要的是过程,并且享受不断维系和改善代码的过程。以我微小的人生经验看,不能享受这个过程的人而一开始就喜欢追求完美代码的人,一般其实内心都很脆弱而且恐惧变化,迟早都会变成麻烦。因为一次就能完美,那么写代码也太无趣了,追求捷径一蹴而就,我也想,但是要明白,世界绝大多数时候不是这么运转的。重构其实就是提供一种世界观和方法论,让你直面自己作品的不完美,并且抱着改善的态度。

原文链接:https://www.douban.com/note/659757946/

Sort:  

@greatabel, 看到你的帖子,真是我的幸运啊!太棒了!

感谢鼓励