返回介绍

编程的自学方法

发布于 2025-01-22 00:38:50 字数 2129 浏览 0 评论 0 收藏 0

“ 很多人通过我的 QQ(14703250),微信(liuxinlehan) 问我类似这样的问题:

我已经看了很多 Java 的书,也看了很多视频,可总觉得心里没底,觉得还是什么也不会,好像有很多东西看过都忘了, 接下来该干嘛? 迷茫了!

我的回答无外乎是要多编程,多实践,做个小项目巩固学过的知识。

不知道提问者是否满意,反正我自己对这个回答也不满意, 这促使我思考关于学习方法的问题,写了篇文章分享给大家,欢迎讨论, 好的想法有奖励啊(参见文末)

方法一: 看书,看视频,偶尔照着例子敲点小程序

策略: 先把那些 Java 知识点统统都看一遍,集合,IO, 反射,线程,html , javascript ,servlet, jsp ,xml ,tomcat ,spring,hibernate,对哪个例子有好感的话,在自己的电脑上敲一遍

估计很多人都是这么自学的, 这种方法的缺点是:

(1) 一叶障目,不见泰山, 容易陷入细节

做码农需要和无穷无尽的细节打交道,例如:html 那么多 tag,属性 , xml dtd ,schema 复杂的语法, httprequest 那么多方法, 看着看着就烦了, 到底哪些是常用的? 哪些是不常用的?

自学者迷失在了细节当中, 产生了怀疑。

(2) 记不住

实践(编程)太少, 当然容易忘记了。

(3) 挫败感

就算很有定力,很有自制力,以及在未来拿高薪水的想象中, 利用断断续续的业余时间咬着牙终于把这些细节都看完了, 然后悲催的发现: 卧槽,还是写不出一个可以运行的像样的东西!

最终结果是: 我看完了,很多细节也忘了, 还是不知道怎么回事,还是蒙圈。

这种方法试图把所有的细节都搞定以后,再去做系统, 对自学来讲其实并不友好。

方法二: 实用主义, 拿项目作为牵引来学习

策略: 拿项目作为驱动, 开始是不追求面面俱到, 而是追求一个可以运行的东西, 单点突破,以点带面, 最终掌握所有知识点。

如果你懂得敏捷开发, 就会明白这和敏捷软件开发的本质思想是何其像啊。

这种方法的好处是: (1) 成就感

一开始就搞可以运行的系统, 慢慢的增加功能

(2) 在实践中学习

学习金字塔, 在之前的文章中已经提到过,这里再强调一下: 通过实践来学习是非常有效的。

(3) 抓大放小

先学会最关键的,最实用的东西,先学会并且能实践一个关键知识点,然后再把周边的知识学会

(4) 思考才是进步的本质 !

实现系统过程中遇到了问题, 会逼着你思考,去动手解决问题

这种方法的缺点也很明显:

(1) 遇到问题容易卡壳, 需要有高手/师傅点拨一下 对于那些比较难的问题, 自己思考、尝试了很久以后,被点拨一下,恍然大悟,拨云见日的感觉非常的爽。

(2) 要求动手能力和主动思考的能力 伸手党是不行的。

(3) 要有项目

终于说到重点了, 这不是废话吗 ?

但是找个项目应该并不难,你完全可以想一个小项目来做啊,比如说我最近碰到的一个小需求:

1. 普通用户可以注册,登录,最好和 QQ 账号关联 2. 老师(暂定只有一个)可以创建班级 3. 普通用户可以加入班级 4. 老师能够按月发布作业, 作业有标题和内容 5. 加入班级的用户提交作业 6. 老师可以查看作业,查看哪些人提交了作业,哪些没有提交

找一个身边的问题,把它简化, 实现出来,是很有效的。

学习编程本质上是个迭代的过程 ,不可能一下子把所有的问题搞定,用项目做驱动来学习符合这个观点。

还有哪些自学的方法, 欢迎讨论!

分享一下你的自学方法吧,对于好的建议和想法, 我会把这篇文章的打赏作为奖赏送给 Ta 。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文