以下是跟波利亚学解题(rev#3)的读后感。
解决一个难题后、学到一个知识、做完一个项目后,总结的意义是什么?
在工作中,解决问题固然重要(这是老板支付你的薪水原因),但不总结的话,你只能得到最少的东西。
比如,你从Stack Overflow上得到一个解决办法,你会豁然大悟,哦,原来这个类提供了这个的API来解决这种问题。更糟糕的是,你靠巧合编程,把答案直接拷贝到项目中,运行一下,yeah,能实现你想要的功能了。
软件开发时(生活中也如此),虽然我们很难遇到两个一摸一样的问题,但是有很多问题是相似的。为了提高解决问题的能力,所以我们要复盘。
问题之间常常具有相似的地方(模式),勤于总结的人发现了这些相似性,创造出设计模式,来解决某一类问题。
那要怎么总结呢?下面是我的总结步骤。
- What 问题是什么,有什么上下文,有什么限制,输入、输出是什么。
- How 怎么解决的?
- Why 利用5why分析法,多问自己几个为什么,尝试了解问题的本质,来发现类似的问题,得到一般性的解决方式
网友评论