本文旨在以一个3年后端开发程序员的经验来说说,新手程序员如何快速入门。(以python为例)
一。越早学习编程越好。
1.如果你以后想从事程序员行业,不管现在有没有时间,挤出时间来学习学习吧。不要想着我xxx时间之后有时间开始学习,”明日复明日“的道理大家都懂,时刻警惕这句话。
2.计算机专业的学生,建议学好《软件工程》《计算机组成原理》《计算机网络》等专业课,选修建议学好《人工智能基础》《微机接口原理》,这两门课个人觉得向上关联了目前最火的人工智能,向下关联了基础硬件。可以使你对整个互联网甚至整个电子编程的世界有了一个整体的认识,而不是一头扎进去,感觉自己走入了迷宫.
二。学会排查错误:
1.学会看报错信息:
如图所示,是一个报错:
(1)首先查看最下面一行,ZeroDivisionError就是一种错误类型(除以0的错误),division by zero则是对这个错误的说明,百度搜索时就搜这一行的部分或全部,能最快的找到答案。
(2)途中蓝色字体部分就是报错发生的文件及在哪一行,line 4 表示报错发生在第4行,点击可以直接定位到那一行。有多行时,主要关注是自己写的代码文件,其他的行可以忽略。有时可以打印此行涉及的变量来排查错误。
(3)记住常用的错误类型,做到当你看看xxxError时你能够快速想到时什么错误,时由什么导致的。
同理,我们可以分析下面一个错误:错误类型是TypeError,错误提示是:must be str, not int 表示必须str类型而不是int型。如果这还不明白,再详细一点就是字符串只能加字符串,同时也建议你再好学学python基础。基石有多稳,直接影响你能筑起多高的高楼。
三。学会提问技巧:
1.学会自己解决问题。
(1)在你提问之前,你应该尝试了上面的排查问题技巧,然后你为这个问题努力了至少半小时以上,如果是复杂问题几小时也是值得的。
(2)你真正独立解决的问题,你才真正会了这个问题。而且往往你得到的不止这个问题的解决方法,你在阅读别人写的答案时,可以明白这个问题的原理,以此问题为扩展,甚至还能获得其他知识,所谓举一反三不就是这样吗?曾经一个使用微信支付证书的接口报错问题,我搜索到了很多微信支付证书接口报错的解决办法,都没有解决。最后一个hash256加密问题的解答帮我解决了问题。这两个问题可谓相差甚远,但是我抓住了他们有类似的错误类型这一点,揣测是加密问题,然后再次仔细阅读接口文档,发现是使用了错误的加密方法,证书使用的加密位数比一般支付接口更长。
(3)向别人请教应该作为最后的手段。谁也没有义务帮助你,愿意帮助你的人要么是热心, 要么是有所图。不管是哪种,总是拿低级问题或重复问题来浪费人家的宝贵时间,只会导致别人离你而去。因为这显得你本身是一个没有培养价值的人, 同时也会让人觉得你仅仅是在利用别人帮你解决问题以节约自己的时间,而不是你真的好学。
(4)学会总结。举一个例子(这里对事不是对人),曾经有人问我一个问题,我发现是数组越界问题(range out of index)并予以指出。过了会儿,又说程序报错了。我说:看报错。然后一看又是数组越界问题。类似的问题我也犯过,遇到问题看都没看,想都没想,就找人问了,最后发现是自己的问题。
(5)珍惜帮助你的人,和优秀的人一起成长 。
2.不要提低级问题,哪些是低级问题,如:
(1)pip install 需要联网吗? 自己断下网试一下的就知道的问题还拿来问不是低级问题是什么。
(2)为什么我某某程序,有时候运行成功有时候运行失败? 失败了就看报错,报错信息能够帮你解决80%以上的问题,优秀的程序员大部分时候一看报错信息就能看出是什么导致的错误。
(3)学会把问题摘出来。如果你的程序运行失败,首先你应该定位到是哪一行报错了。然后如果程序代码过多,把关键问题摘除来,写个demo,让人能够快度地定位问题,解决问题。
(4)问题描述越详细越好。如果是程序问题,问问题时应该把输入是什么,输出是什么,关键代码是什么截图出来。不要用自己的语言描述问题,有图才有真相。因为你在描述地过程中自己就把问题过滤一遍了,很可能你关注的点并不是真正的问题所在。
最后:
我们创建学友之家交流群(915414164),本群指在帮助程序员入门及成长。我们仅仅希望优秀的人才加入这个大家庭,那么哪些是我们期望的优秀人才以及哪些人适合加入呢:
(1)渴望成长,希望在大学期间能够远超同龄人的在校大学生。并且牢记我上面所说的问题,不会常犯的人。
(2)没有编程经验,但想学习编程,同时学会了上面的学习技巧的人。
(3)热爱交流,热爱帮助他人的编程爱好者。
注:
因时间有限,本文并不完善。如果觉得有用,欢迎进行收藏,以便查看后续更新。