想学习编程,但又不知道怎么下手吗?
其实我一开始也和你一样,觉得学习编程对未来的职业发展相当有帮助。
然而,草草步入这个业界的我在初期走了非常多的弯路,选错了学习方法,还浪费了许多时间。
因此今天要结合我个人的实际经验来和大家分享有效学习编程的方法哦!

1.明确目的

在和大家讲干货之前,首先想帮助大家明确一下“你想学习编程的目的”。如果你只是因为别人推荐你去学编程/或是看到周围的人都在学编程所以你才学的话,那很可能会在开始不到几天就放弃了。 因为目的不够明确,学习的动力以及兴趣也会大减,甚至会学的非常痛苦。 如果还不明确的话,没关系我可以先和你分享我为什么会想学习编程。

让我坚持学习编程的动力有三点,第一点是“可以选择自己喜欢的工作时间/地点”。
相信大家都已经发现了,以今年的新冠肺炎为契机,许多的IT类公司都开始大力推广在家工作。
其实在肺炎爆发以前,我身边就有很多朋友早就开始做远程开发,基本上都是走到哪里只要抱着一台电脑就好了。
第二点是,“可以创造自己的作品/创业方便”。
有些工作学到的技能可能只是简单的文件处理或是重复性的不需要思考的工作。
但是学习编程的话,可以培养你独立设计/开发软件(网页,手机app,游戏等)的技能。
也许在早期没有足够实力的时候需要在公司积累经验。
但随着实力增长,再自学一些网路营销的知识,独立架设网站营销你的产品/赚取广告费,或是在app商店贩售你的游戏…..方法数不胜数。
即便起初没有Idea也可以独立接案子,帮客人开发产品。
第三点,“比起和人打交道我更喜欢和电脑打交道”。
我曾经去实习过业务员甚至是咨询员的岗位。
但很明显的,我并不是那种喜欢和人打交道的性格,更何况是让我天天给客人打电话,还陪吃陪喝。
此外,如果营销/咨询的是你没兴趣的产品领域的话,那真的很痛苦。
因此我就选择了程序员这条路。

如果以上三点是你理想的生活/工作方式的话,那么很开心,我接下来将会继续和你分享我的学习方法。

2.学习编程的三大原则

学习编程的方法,其实和我们一直以来在学校的学习方法都不一样。 以前在学校里成绩很优秀的人,很可能到了学习编程就束手无策。 很多人在初期学习编程的时候都觉得“我为什么那么努力学习了但还是完全看不到成果”,就因此而放弃。 其实只是因为努力的方法错了,接下来我整理了学习编程的三大原则,希望能够帮助到大家。

2.1.绝对不要死记硬背

学习编程时,死记硬背是非常没有效率的方法。 很多人刚开始学编程时(包括我),就买了一本厚厚的编程书打算把书从头到尾啃完。 或是报了班以后打算把课上所有的知识点都在笔记本上一字不漏的记下来。 如果你现在正打算用这样的方法学习的话,我强烈奉劝你千万不要这样做。 其实学习编程根本不用死记硬背任何东西。 如果你忘记了某些算法逻辑的话,上网查就可以了。 学习编程完全和在学校时的学习方法不一样。在学校的话,基本上忘了的话考试就完蛋了。 但是”忘了就完蛋了“,这样的想法完全不会出现在程序员的世界里。 ”死记硬背“绝对是最没效率的方法,当你花几个月的时间去背编程书的内容时,别人找就已经做好了一个简单的小软件。 因为别人有什么不懂就马上查并且马上动手去做。因此也比你更快能看到成果。 所以比起记下来所有的算法,“理解编程的逻辑思路(为什么会这样写)”以及“手动去调查解决方法”才是学习编程时最重视的能力。

2.2.避免“只输入,不输出”

刚才和大家分享过,理解编程的逻辑思路非常的重要。 因此可能有人会觉得,我上了课看了书,理解了的话那就ok了吧? 这样的想法其实也大错特错,只输入不输出是学习编程时的一大禁忌。 这里非常建议大家,学完某个知识点后一定要马上动手自己写一个类似功能的代码。 因为你自己实际去写的时候,绝对会发现书里的内容简直就是一个童话故事,把标准答案全都给你了。 现实是你很有可能会因为开发环境(代码编辑器,系统配置等)没设置好,或是变量忘了区分大小写等各种原因而发生error。 如果你没有实际去体验并解决这些error的话,哪一天你实际上战场做开发的时候肯定会慌了手脚根本不知道从何下手,连最常见的error都解决不了。 这也是为什么刚才着重提醒了大家“手动去调查解决方法”这个能力非常重要“。 因此很建议大家学习编程时一定不要忘了”输入知识-亲自动手写代码-发现error-手动调查解决方法“这个步骤。 起初学习编程的时候,很可能会因为处理error花了太长的时间而丧失动力。 但也因为正是如此,才要试试亲自写出代码,解决问题,看到自己的成果。这样才会成为你继续努力下去的动力。

2.3.学习必要的知识点即可

如果你想学习做一个收发信息的软件,那么你只要学习收信和发信的功能如何制作即可。 刚开始学习编程的人常常会觉得”我要把所有的方法都学会(我要拿100分)“。 但这样的想法非常的危险,在编程的世界里永远没有”100分“。 世界上有数不清的软件,电子服务,以及游戏等天天日新月异,即便是同一种类型的软件,也可以用很多种写法写出类似的功能,你不可能掌握所有的内容。 因此当你学习编程时,你只要学习你当下需要的内容即可。 否则你会花很多时间在查不相关的东西上,却迟迟没有动手开始写代码,实际制作软件。 就刚才的例子来说的话,以”制作出收发信息的软件“为目标来学习,才是最有效率的方法。

3.学习编程的五大步骤

3.1.确定你想开发的东西

编程就是为了开发而存在。 如果什么都没想就直接开始写代码的话,就会根本不知道如何下手,因为你不知道自己到底要开发什么。 很多人在早期放弃编程就是因为他不知道自己写代码是为了什么,感觉真的很可惜。 因此,建议大家,随便写一个很简单的小工具也可以,一定要在学习编程时给自己设立一个目标。 不需要多伟大的目标(要给社会做贡献什么的),只要能做出来就可以,毕竟你做了就能学到了新的东西。 例如,管理你每天任务的小工具,到了周一的时候就会自动提醒你要去健身房等。 随着掌握越来越多的东西,你就可以做更多稍微复杂一点但你很感兴趣的功能。

3.2.调查开发时必要的工具

写编程时肯定要准备相应的开发工具。 一般来说上往随便百度一下就会用很多文章教你怎么下载,安装,配置开发环境了。 或是去书店的话也有很多相关的书籍,例如“教你从零开始构建网站”,里面就包含了配置开发环境的步骤。

3.3.从简单的教材开始学起

也许你一开始给自己的目标定得很高,觉得基础入门教材太简单了,想一次就买很厚很深的内容钻研。 但其实刚开始学习编程时只要掌握最基本的逻辑就可以了(if句,for句等) 一下子就拿出一长串的逻辑来读的话首先你会根本不知道从何下手,而且一次塞太多内容过不了几天肯定又忘了。 这样的方法很容易打击自己的动力,而且基本上没有动手实际输出的机会,是永远不会成长的。 因此非常建议,可以去上像Udemy这种网路课程,或是想省钱的话bilibili等也有很多免费授课的平台。 掌握最基本的逻辑以后,当你真的要开发某个功能时直接上网查就可以了。学习编程基本上过了基础阶段后90%都是边查边学。

3.4.实际动手开发

开发才是最难的一个环节~ 真的动手开始做的时候,常常不知如何下手,甚至根本想不起来自己到底学了什么。 也正因为这样,只有通过实际动手输出学到的东西,才能够加深印象, 如果遇到了自己解决不了的问题怎么办? 其实经常遇到解决不了的问题,对每一个程序员来说都是家常便饭。(每天和error和bug奋战….) 不懂就查,查了还是不懂就先放下手边工作出去散会儿步,回来思路清晰以后很可能自然而然就解决了。 或是也可以参加各种社群或是報個班认识其他也在学习编程的朋友,一起问问题相互成长。 都尝试各种方法还是解决不了的话,也不要担心! 寻找解决的方法就是思考的过程,在这个过程中你也学习到了很多东西,你可以放下眼前这个问题,先去尝试看看其他稍微简单一点的开发。 当简单的开发一个一个都学会了以后,再回去看看以前解决不了的问题基本上都已经是小事一桩了。 因此不要因为只是一时的卡住就丧失信心与动力。

3.5.继续开发其他不一样的东西

如果你成功开发了某个小工具,那非常恭喜你!有了成功的经验将成为你继续学习的动力。 但切忌不要仅满足于你眼前这一个小小的成功。也不要总是开发同一种功能/类似的东西。 基本上学习编程过了基础阶段后“开发=学习”,每当你做出了新的工具你就学到了新的技能。 随着你做出来的成果越来越多,你的技能也越来越强大,更重要的是他们将成为你财富,以及实力的象征。 当你想找工作时,或是独立寻找客户时,比起拿出一堆资格证书,直接展示给他们你开发过的东西更实际也更有说服力。 因此你所开发出来的每一样成果都是你实力的最佳证明哦!


那么介绍了那么多,有没有更清楚编程的学习方法了呢! 以后我还会在这里更新我学习到的编程知识以及总结相关的学习经验。 

[2020.9.27 更新] 想知道如何在日本学习编程并进入IT业界的话可以参考下面文章哦!

[日本工作]推荐三所日本IT网校〜 进入日本IT业界的好方法

Kikajia最近终于开设了FB粉丝专页!!

点赞即可追踪最新帖文哦!您的支持是我最大的动力(o^^o)