像程序员一样思考到底意味着什么?怎样才能做到?
从本质上讲,它是一种更有效的解决问题的方法。在这篇文章中,我的目标是用这种方式教你。后,你就会知道怎样才能更好的解决问题。
我们每天都有遇到很多问题,无论大的小的。我们处理这些问题的方式有时候都是随机的,比如:1、试着解决方案2、如果不行,再试一次3、如果没有效果,重复第二步直到运气好的时候。这样的方法,在你运气不好的时候,就傻了。总之这种方法时候解决问题的糟糕的方法!也是非常浪费时间的。
“计算思维或分解大型复杂问题的能力,与工作所需要的基本技术能力一样有价值”。那么,当你遇到新的问题时,你应该怎么做呢?
步骤如下:
1、理解
非常确切的知道自己被问的是什么问题。大多数难题之所以难,是因为你不理解它们,所以这个是步。
如何知道什么时候你理解了一个问题呢?——当你能用简单的、用自己的语言解释它的时候。
你可能会记得,当你被困在一个问题上,一旦开始解释它,你就立刻看到逻辑上的漏洞,而且漏洞很可能也是你以前没有看到的。
2、计划
不要在没有计划的情况下,一头扎进解决问题的过程中,计划你的解决方案吧!如果你不能写下计划确切的步骤,什么也都不帮不了你。为了得到一个好计划,回答这个问题: 给定输入 X,返回输入Y所需要的步骤什么? 程序员的世界里面,有一个伟大的工具 来帮助他们实现这个,那就是注释!
3、拆分
这是重要的一步。
不要试图一次就解决一个大问题,不然你可能会哭的。相反,当你把这个问题进行拆分成一个一个子问题,这些子问题就更加容易解决了。然后,逐个解决每个子问题,从简单的开始。另外简单的方法意味着子问题的解决并不依赖与其他问题的解决。一旦你解决了每个子问题,再把这些点连接起来,连接所有“子解决方案” ,将为你提供的原始问题的解决方法!
4、卡住了呢?
现在,你可能正坐在那里想,这几个步骤看起来还不错嘛,但如果我卡住了,遇到了不能解决子问题该怎么办?
调试:逐步检查你的解决方案,试图找出哪里出错了。即调试程序。
重新评估:后退一步,从另个一角度来看这个问题,有什么可以抽象成更加一般的方法吗?
上网搜:你没看错,不管你有什么问题,可能有人已经解决了。找到那个人/解决方案。
5、实践
不要期望仅仅一个星期就能变的很厉害,如果你想成为一个好的问题的解决者,就应该去解决很多问题!
6、结论
现在,你知道“像程序员一样思考” 是什么意思了。你也知道解决问题是一种难以置信的元技能。如果这还不够,你肯定也知道了如何练习解决问题的技巧。