说说学编程的一些经验
程序员学的知识分为两种,一种是偏理论的,例如计算机原理,计算机网络、数据库原理、以及操作系统原理,这些知识都是以理论为基础,注重的理解能力。
另一部分主要以实践为主,就是平常当工具用的,例如 linux 日常命令工具、数据库SQL操作、还有写代码,这些知识学起来没什么技巧,ctrl c ctrl v,拿到教程就是照着抄,唯手熟尔。
不过照着抄代码需要做到3点:
第一步:理解,如果照着教程敲代码没有建立在理解基础之上,那叫瞎抄,就跟上学的时候差等生抄别人作业没啥区别,抄完之后,考试出一模一样的题目你都不知道写。
第二步:验证,跟着把敲出来,验证别人说的是不是对的,带着怀疑的精神验证每一行代码,很多时候我们就算照着抄也有可能会抄错,也许别人的代码有错,如果最后输出结果跟预期理解的不一致,这就考验你解决问题的能力了。怎么办?多思考,多请教,多总结。
第三步:举一反三,这步是最重要的,举一反三会把知识变成自己的,把每一行代码按照自己的思考进行修改,例如:既然这样可行,那换种方式看看有什么不一样的效果。
关于抄代码,我只服一人,就是Openresty 的作者春哥,可以看下对他的一则访谈:
回过头看,抄书是我自学编程的法宝。话说抄书这种学习方法是我意外间发现的。初三时,我酷爱化学,总是缠着当时的初中化学老师提各种奇怪的问题,老师拗不过,借给我一本他当年大学时用的课本《分析化学》。我如获至宝,爱不释手,但借的书总要还,但又不能立马消化,于是我便抄书,抄了整个暑假,结果意外地发现了抄书的奥妙——那就是延缓阅读速度,不至遗漏每一个重要的细节:眼到,手到,心到。 其实不仅书抄得,代码也抄得。记得我刚进入淘宝时,想学习 Nginx 源码。于是白天上班就对着 Kindle 抄 C 源,同时就已暗记于心;晚上回家在房子里来回踱步,在脑海中反复回放白天抄过的源码,直至融会贯通,深得其奥妙。
大神都有独门绝技,不是我等随随便便能学会的,好在勤能补拙,与各位共勉。
另外想要成为一个优秀的、有能力程序员的话,其实作为一个开发者或者编程学习者,有一个学习的氛围跟一个交流圈子特别重要!这里我要推荐一个C语言 c++交流Q群,7-4-1-8-1-8-6-5-2,不管你是大牛还是小白,大家都一起成长进步。
群里有位小伙伴说道:我不是程序员,没有计算机基础,也不懂前端后端,更不知道框架,分布式等等的,平时不知道学编程有什么用,觉着相关工作也比较少。
问及为什么要学编程时,他说只想给他的职业生涯加加分,如果这样能学好编程我就不信邪了,他说他是搞金融的,那为啥不学些对工作有帮助的东西呢?比如数据分析、量化交易什么的,学点即学即用的东西才是正事,别特么瞎学了。
原文地址:https://www.cnblogs.com/L928/p/10679067.html