【鱼皮】学好项目的 12 条建议
大家好,我是程序员鱼皮。很多学编程的朋友们都会遇到以下的问题:
- 怎么学好项目?
- 学完项目就忘怎么办?
- 为什么做完了项目,感觉还是啥都不会?
- 为什么简历上也有项目,就是没有回复?
需要注意的是,做项目可不仅仅是抄了代码、跟着教程运行一遍就完事,以下 12 条建议分享给大家,都是我自己的经验。如果能做到建议中的点,认真完成并理解 4 个及以上的项目,做项目的能力达到中大厂水平绝对没有问题。
1、选择合适的项目
一般情况下,做项目的前提是学完至少一门开发框架,比如前端的 Vue / React、后端的 Spring Boot。
一定要根据自己当前的技术栈和水平选择项目。比如刚学完框架时,不要为了赶时间一上来就做微服务、高并发项目,很容易吃不消,而是要先从掌握项目基本的开发流程开始,一步步学习项目开发方法、逐渐接受新的技术。
刚开始学项目感觉难、做得慢,是很正常的,因为你缺少知识和经验。如果发现项目中有太多你没学过的技术、并且没有对应的教程讲解,那么就先暂停项目,即时补充知识,再来学习。
2、分清主次
时间紧急的情况下,后端方向的同学可以只看后端部分的教程、只做后端、运行接口文档即可,建议直接跳过前端部分的教程、也不要花时间去运行前端。否则可能因为不熟悉前端、折腾环境而浪费了大量时间。
前端同学也是同理。
3、多敲代码
我接触过一些同学,看完了几套视频教程后,还是无法自己敲项目,大概率就是因为做项目的过程中 “只顾着看教程” 了,没有自己动手练习。很多时候,看别人敲代码感觉并不难,但一看就会、一写就废,看完教程后,必须自己把每行代码都敲出来,才算是真正地学过这个项目,而不是将 “掌握理论”、“熟练背诵八股文” 作为学好项目的标准。
4、自主思考
在跟着视频教程做项目的过程中,尽量多思考,比如 “为什么要这么设计?这么设计有什么好处?为什么代码要这么写?有没有更好的写法?” 等等,必要时通过查阅资料来验证自己的思考。如果一味跟着讲师的节奏走,你或许可以完成项目,但是做完这个项目后,你可能很难自主做出一个类似的、或者更好的项目。有的时候,讲师说的不一定是最优解。
像我带大家做项目时,会经常引导大家思考。有时候故意留一个小坑,结果很多同学想都不想就跳到坑里了;也有些同学,能够提出和我不一样的实现方案,哪怕方案未必合理,能自己思考,就很棒了。
5、持续记录
在做项目的过程中,一定要多做笔记,不要觉得教程配套的笔记很详细了,自己就偷懒不写。笔记的作用是帮助自己复习,所以重点是记录自己做项目时的理解思考、遇到的问题和解决方案。此外,自己写过的每一行项目代码,都要完整地保存,等你学过更多技术知识后,再回过头来看自己的代码,一定会感叹自己的进步。
6、自主解决问题
这点是最重要的! 很多同学一遇到问题就紧张、害怕、担心自己解决不了无法继续做项目,然后就疯狂求助他人。
负责任的说,我写代码近 8 年,从学生时代开始,可以说 99% 的 Bug 都是自己解决的,所以大家不要有这种担心,因为你学的技术几乎都是主流的,你遇到过的 Bug,别人也一定遇到过。在遇到项目报错时,要先搜集足够多的错误信息(比如通过日志),然后查阅搜索引擎(百度应该都知道吧)、技术社区、官方文档、甚至现在还可以 问 AI,大概率是有解决方案的。即使真的没办法解决,在向他人求助前,要保证自己的问题描述地足够清楚、并且清晰列举已经尝试过的解决方案,别人才能更快地帮你解决。
7、多读官方文档
如今新技术层出不穷,不可能每个新技术都有好心人给你录制保姆级教程。而且工作后,很多公司可能会有自研技术,只有内部同事用过,我们只能通过阅读文档来解决。所以建议大家在学完一门新技术后,花 1 - 2 个小时就好,阅读一下官方文档,不仅能了解一些教程讲解之外的技术特性,还能提升自己阅读文档、学习新技术的能力。
8、多写文档
除了记笔记外,每做完一个项目,都必须写一篇完整的项目总结文档。不要嫌麻烦,写总结文档的过程中,你会从上帝视角再回顾一遍整个项目的背景、设计、实现、亮点等,帮助你复习巩固、加深印象。也便于你更快地将项目写在简历上、或者开源和分享自己的项目。有能力的同学可以多画一些图,比如功能模块图、架构图、UML 类图等,正所谓一图胜千言,绘图能力也是优秀程序员必备的特质。
如果你发现自己写不出总结文档,那么大概率你对这个项目还是不够熟悉,没有完全掌握,这时再对照着自己的笔记快速回顾吧。
如果时间比较充足,最好是能够口述整个项目的背景、技术栈、核心业务流程、核心设计、项目难点、开发过程、测试过程、上线过程、解决过最复杂的问题等等,锻炼自己的表达能力,也为后续的面试做了准备。
9、自主优化
跟着教程完成项目后,需要给项目增加几个扩展点、或者回顾自己的代码并寻找优化空间(比如优化代码规范),从而增加简历的区分度。这也是区别是否能够入职大厂的一个重要因素。这个优化不一定是刚完成项目时立刻就去做的,可以等过了半年后,再以现在的水平去优化之前做过的项目,所以鱼皮上面也建议了,自己写的代码一定要留好。
10、上线项目
在本地完成项目后,最好将项目上线,并且在线上正常运行一段时间,跑通整个流程,这是独立开发者必备的技能。此外,之前也分享过,上线项目能够大幅增加简历的真实性。
11、主动分享
将项目上线、并且编写好项目总结文档后,可以将项目和文档分享给其他同学。这样做的好处是,其他同学会帮助你 “测试” 网站,指出项目的不足之处,从而给你带来更多优化项目的思路和机会,而且对其他同学也有帮助,会给你提供更多的正反馈。鱼皮刚开始做分享也是这样,通过输出知识给自己带来更多学习知识的动力。
12、学会合作
时间有限的情况下,不需要前端和后端都看教程并且自己实现,可以找和自己方向互补的朋友,协作开发,一起参加竞赛增加经验值也是极好的。
以上,我是混迹牛客 6 年的老学长鱼皮,有帮助的话还请点赞哦,大家加油吧 💪🏻 !
#项目##学习方法##我的失利项目复盘##简历中的项目经历要怎么写#