查看原文
其他

很痛苦,脱离视频教程就不会敲代码了。。。

编程导航 编程导航 2024-01-30

编程导航的直播带做项目已经顺利进行多期了,有些同学跟着教学视频做完项目就能上手工作、自己扩展,但有些同学即使做完项目还是不能开发。

导致这个问题的影响因素很多,关键是深入理解、自主实践,以及持续的时间投入。不要仅仅模仿,而应该注重独立解决问题的能力。

以下是编程导航星球的一个相关的经典问题,希望能给大家做一个参考。

星球原文链接:https://wx.zsxq.com/dweb2/index/topic_detail/811224582544582

问题:

鱼皮哥,很抱歉这么晚了还打扰你休息,但我有个问题想不通,就是你带我们做了这么多的项目,但是为什么我们自己离开视频、想这个功能应该怎么实现的时候就想不出来,或者完全没有思路?

这样的情况可能会导致以后写代码过于依赖 cv 或别人现成的代码。。。

这是不是和我们平时的学习习惯有关,应该怎么才能摆脱这种状态?

或者说,在平时带我们做项目的过程中我们需要注意这么理解这整个项目?

鱼皮回答:

这个问题很不错。为什么有些同学做完星球项目就能上手工作、自己扩展了?但有些同学即使做完星球项目还是不能开发?

导致这个问题的影响因素非常之多,比如和自己之前的知识积累、学习方法、看视频的细心程度、自己投入的时间、理解能力、学习心态、笔记总结、主动性等因素有关。

举个例子,有的同学看 3 遍视频教程,并且自主开发到上线;有些同学快进看了 1 遍视频教程,然后直接复制我的代码去写简历和看面试题解。这两种方式投入的时间不同,带来的结果也完全不同。

所以不要拿看完几个项目作为衡量自己水平的标准,而是以能自己做出几个项目为标准。

想解决这种问题,最重要的就是要有主动性。不仅跟着我的教程看的过程中,自己要多思考;在生活中看到其他的网站和项目,也要多思考自己如何实现它、一定要自己搜索解决方案。一旦你懒得思考和自主搜索,那就陷入了一种恶性循环,只会越来越懒,到最后就是成了机器人,别人不告诉你怎么做,你就想不到自己去搜索,也不知道自己要怎么做。

自主性还体现在其他的方面,比如在看视频教程学习的过程中,一定要做好以下几件事:

1)看视频时,记录笔记。以记录自己的思路为核心,而不是记代码。举个例子:我们要实现缓存,可以通过 Spring Boot + Redis 的字符串类型实现缓存。记到这里就差不多了,时间多可以再详细记录。

2)看视频后,自己实现。每看完一集或几集视频教程,觉得自己再看新视频就会忘的时候,那就停下来,对着自己记录的思路笔记去回忆、去完完全全自己敲一遍代码实现。注意,我说的是完全自己实现一遍,也就是说每一行代码都要写、每一个文件都要自己建!之前也有同学直接看完教程,然后复制星球代码就以为自己学会了,这其实是不行的,因为想要提升编程能力,最有效的方法就是多敲代码多练习。

3)学完项目后,写总结。看完一套视频教程后,一定要写一篇详细的总结(字数估计至少 1000),可以包含以下内容:

  1. 自己跟着这个教程学到的所有知识点
  2. 自己对于项目知识点的理解程度,能否灵活运用这些知识点到其他项目中
  3. 评估自己如果脱离了视频教程后,能否自己实现一个同类的项目
  4. 自己做项目的过程中,遇到了哪些坑,以及如何解决

你对项目的理解程度越高,你写项目总结会越快。而如果你发现自己连项目总结都写不出来,那我的建议是【重新再来】。

优秀总结参考:

- OJ 判题系统:https://t.zsxq.com/13HLpAQDI

- 智能 BI 项目:https://t.zsxq.com/134PTpB3q

- 聚合搜索项目:https://t.zsxq.com/13nevaht0

- API 开放平台:https://t.zsxq.com/13CW9DOLS

- 伙伴匹配系统:https://t.zsxq.com/13wpzBqFo

- 用户中心项目:https://t.zsxq.com/13xs4rJet(咦,这不正是题主自己的总结么?!如下图。定期回顾下自己的总结,查漏补缺也是很重要的)

除了自主性外,剩下的就是投入时间了,时间投入的只要足够多,哪怕学得慢点,掌握程度也会更好。举个例子,有同学遇到 Bug 不想着自己搜索解决,直接看了别人的代码复制粘贴解决掉了,虽然可能节省了不少时间,但他的问题解决能力并没有得到提升;而另一位同学虽然花了 2 小时解决 Bug,但这个过程中他一定会对相关代码、知识点有更深刻的理解。有同学可能觉得鱼皮大学期间为什么学技术那么快、有那么多实践经历,最直接的一个原因就是我投入了大量的时间,无数个凌晨三点半还在改 Bug。。(当然,熬夜这点不值得鼓励,我想表达的是大家尽量利用好时间多去自学)

还有一个好的学习方法就是【学会拆解】,做一个完整项目对你来说可能很难,但是掌握项目中的一个知识点就会轻松很多。比如用 Swagger + Knife4j 生成接口文档,这就是一个很简单的小知识实操。建议所有同学整理一个自己的知识学习表,把所有自己掌握的小知识和应用场景都记录下来,这样你在做新项目时,就可以将这些知识结合实际的业务场景进行组合挑选,从而做出一个完整的、技术运用丰富的大项目。

我在星球发起【知识碎片】活动,并且帮大家拆解了星球项目为 130 多个知识点,目的就是这点:https://yuyuanweb.feishu.cn/wiki/AqfawFUT0iD69kkiRKoci6Nqnqc

星球的学习指南,大家学累了的时候也可以多看看:https://yuyuanweb.feishu.cn/wiki/CHzBwweCIiKEoLkB5TVcPsGNnTf

最后还有个很重要的点,那就是【心态】。我们不要因为觉得别人学得比我们快而焦虑,每个人起点不同,与编程这个岗位的契合度不同,学习方法也有区别;而且你可能也看不到别人表面风轻云淡的背后,到底投入了多少时间和努力对吧。所以没必要去跟别人在学习速度上比较,掌握正确的学习方法、自己投入时间持续学习、踏实做出一个个项目,然后等回过头来看,就会发现自己已经走得很远了,加油。


以下是部分鱼友们对该回答的讨论,希望能够对大家有所帮助:


欢迎学编程的朋友加入鱼皮的 编程导航知识星球,和 2 万多名 编程学习者共享知识、交流进步。

星球拥有 30+ 原创学习路线和专栏、上千篇 优质编程学习求职干货。

还有鱼皮从 0 - 1 全程直播带做的 原创项目 ,手把手带你 掌握独立开发项目的方法 ,并且提供 现成的简历写法 ,成功帮助不少小伙伴找到了工作。

鱼皮和 40 多名大厂嘉宾会为星球小伙伴答疑解惑,光鱼皮本人已经累积回答了 4000 多个问题,你所关注的学习、项目、求职、职场等问题都能得到解决。

星球还提供 1 对 1 简历优化服务,以及几百份真实简历参考,助你提升面试率。

欢迎感兴趣的同学加入体验,本号读者可限时享用专属优惠券:

三天内不满意可全额退款,有没有用自己试了才知道

往期推荐

沉淀 700 天,这份编程学习指南 2.0 发布!

使用第三方服务(宝塔)快速部署项目

2 分钟,帮你写出满分简历!

大一开始,我经历了觉醒与顿悟!

三本的我,一样拿到 offer!

快手一面,被问麻了。。。

继续滑动看下一个

很痛苦,脱离视频教程就不会敲代码了。。。

编程导航 编程导航
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存