如何像程序员一样去思考
如何像程序员一样去思考
如果你对编程感兴趣,你可能以前看过这句话:
“这个国家的每个人都应该学习编程计算机,因为它教你思考。” —史蒂夫·乔布斯
你可能还想知道,像程序员一样思考究竟意味着什么?是怎么做到的?
从本质上讲, 这一切都是为了更有效地解决问题。
为什么这很重要?
首先我们都有问题,无论大或小。我们应该如何处理它们?
如果你拥有一个系统,它就能从头到尾的来帮助你,否则“随机解决”就会是你解决问题的方式。
这是我开始编程时所做的:
1.尝试解决方案。
2.如果这不起作用,尝试另一个。
3.如果这不起作用,重复第 2 步,直到走运为止。
有时候会很走运,但这是解决问题最浪费时间的一个方法。
所以,当我们遇到一个新问题时,应该这样做:
1.了解
你要确切地知道被问到什么。大多数难题之所以难,是因为你不了解它们。
当你能用简单的语言解释这个问题时,你可能就会真正地理解它。
当你被困在一个问题上的时候,一旦你开始解释它,你就可能会立即看到以前没有看到的逻辑漏洞。
大多数程序员都知道这种感觉。
这就是为什么你应该写下你的问题,画一个图表,或者告诉其他人。
“如果你不能用简单的语言来解释一件事,你就不会理解它。” — 理查德·费曼
2.计划
不要在没有计划的情况下直接解决问题(糊里糊涂地解决问题),你需要计划你的解决方案。
如果你不能写下确切的步骤,那么没有什么人可以去帮助你。
3.划分
注意。这是最重要的一步,不要试图一次性地解决一个大问题,你会哭的。
相反,将大问题分解为子问题,这些子问题更容易解决。然后,逐个解决每个子问题,从最简单的开始。最简单意味着你知道答案或更接近该答案。
一旦你解决了所有子问题,可能你就会得到原始问题的解决方案,恭喜!
将问题减少到您知道如何解决并编写解决方案的程度。然后稍微扩展问题并重写解决方案以匹配,并继续前进,直到你回到你开始的地方。” — 安东·斯普劳尔
4.卡住了?
到现在为止,你可能正坐在那里想,这很酷,但是如果我被卡住了,甚至无法解决子问题怎么办??
首先,深呼吸。其次,这是一件很平常的事情,别担心,这会发生在每个人身上,不同之处在于,最好的程序员在面对不同的错误时,可能会更加好奇而不是恼火。
事实上,面对某些解决不了的”BUG“时,你可以尝试以下三件事:
调试:逐步通过您的解决方案尝试找出哪里出错了,程序员称之为Debug。
重新评估:退后一步。换个角度看问题,有没有什么更简单、更通用的方法?
研究:不管你有什么问题,可能有人已经解决了,你需要找到那个解决方案。事实上,即使你解决了问题,也要这样做(你可以从其他人的解决方案中学到很多东西)。
不要为大问题不断的去寻找解决方案,那只是在浪费时间,你只需要寻找子问题的解决方案。
5.实践
勇敢去实践吧 ~
或许你可以在我这找到你想要的:
https://github.com/Tengxu666/LearnPython
十分钟带你了解Python
如何像程序员一样去思考相关推荐
- 那些35岁的程序员都去哪了
阅读本文大概需要11分钟. 大家好,我是findyi,前段时间写过一篇关于大龄程序员的文章:那些40岁的程序员都去哪了,引发了大家的思考和讨论,不少读者私聊问:除了这些出路,还有没有其他可能? 最近想 ...
- 什么是经验--从程序员角度的思考
为啥会思考这个问题? 刚才在骑车回家的路上,脑子里突然闪过纪录片里关于爱因斯坦研究出相对论和他的大脑的关系.我就在想,他当时在思考时间和空间时,是不是因为他脑袋里面其实存在一个关于时间和空间的模块,只 ...
- 大龄程序员都去哪了?分享我身边的几个故事
作者丨水影月 来源丨大飞码字(BigFly1024) 程序员的35岁,似乎是一个沉重的话题.在国内,一般程序员的寿命在20-35岁之间.超过了35岁的程序员,如果继续从事开发工作,在国内相对大多数程序 ...
- 程序员的人性思考(续)
"致虚极,守静笃",这是本人在<道德经>中很喜欢的一段话,浮沉乱世中,要守住自己的一份清明,不管做人.做事.学习.生活.工作上都会有所帮助. 人性思考目录: <程 ...
- 程序员不要去这样的公司
作者:baoj2010,来自:cnblogs.com/baojun2014/ 0 题记 很多人都在写如何选择一个好公司,如果辨别一个好公司,博主我,作为一名在程序猿界混了八年的职场老鸟我要写一篇辨别不 ...
- 35+的大龄程序员都去哪里了?
作者 | 年素清 来源 | 码农故事汇(ID:sunianqingshi) 对于互联网人,尤其是程序员来说,35岁是个尴尬而危险的年纪,业内时常传出清退大龄程序员的消息.那么,那些35岁以上的程序员都 ...
- 程序员经常去的 14 个顶级开发者社区(转)
我们来看一下程序员经常去的 14 个顶级开发者社区,如果你还不知道它们,那么赶紧去看看,也许会有意想不到的收获. Stack Overflow 9 月份,Stack Overflow 也将迎来其 6 ...
- 工作10以上老程序员都去哪了?作为新时代的程序员我们该何去何从
在纽约,PyGotham每年召开之际,都会有超过600名程序员聚集在一起讨论工作. 为了让会议更加多元化,组织者尽量邀请一些女性程序员以及各种肤色的程序员. 那么,老程序员都去哪了?他们去了大学教书, ...
- 什么样的程序员适合去创业公司
2015年11月25日早上,我宣布解散团队,结束了我的创业之旅. 内心的各种不舍.纠结.怅惘.愧疚.惆怅,让我在聊天的过程中忍不住落下泪来,这是我不曾想到的.在写到这里时,忽然就想起汪峰的那首歌--当 ...
最新文章
- centos6.9安装Tomcat8.0.36
- Python2和Python3除法差别
- java common io_Java之Apache Commons-IO使用精讲
- Dreamweaver 2019安装教程
- OpenCV | opencv数据结构中的CvScalar(代码类)
- EFCore查缺补漏(二):查询
- 程序媛如何自我突破?
- HDU 4714 Tree2cycle:贪心
- Java基础-异常-throws Exception-抛声明
- 华硕主板bios通电自启设置_求各种主板通电自动开启的设置?
- 【论文详解】词向量ELMo: Embeddings from Language Models
- gimp中文版教程_GIMP视频教程集合(中文+英文)下载 | 卧云楼
- 用JAVA语言定义一个标准的学生类
- Matlab:风向玫瑰图,我也行
- 04Selenium剩余部分及练习:爬取京东商品信息
- 米尔MYD-JX8MPQ yocto 编译流程 (记录)
- python如何去除文本标点符号_python中如何去除标点符号
- ipv4和ipv6地址长度
- Max-Margin Regularization for Chamfer Matching
- DCDC自举电容(BST电容)介绍
热门文章
- qt实战-翻金币游戏
- android 8.0 推送服务,索尼给力,Xperia XZ/XZs 开始推送 Android 8.0
- 【机器学习】Lasso模型
- systemctl命令解析
- 数字货币综合虚拟货币交易平台源码(基于thinkphp框架)中英文切换适合学习研究 二开
- POJ2993-Emag eht htiw Em Pleh
- MySQL窗口函数—分布函数- CUME_DIST和PERCENT_RANK
- 利用python爬取猫眼电影,分析《大侦探皮卡丘》|凹凸数读
- iPhone上的CPU架构,核数以及运行内存
- nvidia-smi 报错:无法连接 nvidia driver