前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >我做了几个项目,还是啥都不会?

我做了几个项目,还是啥都不会?

作者头像
程序员鱼皮
发布2024-01-29 11:00:51
1980
发布2024-01-29 11:00:51
举报
文章被收录于专栏:鱼皮客栈鱼皮客栈

大家好,我是程序员鱼皮。学编程时,不知道大家有没有这样的困惑:

为什么同样是做一个项目,有的同学完成得很快、而且做完后就能自己做其他项目了?而我已经做了几个项目,还是感觉啥都不会?

这篇文章结合我自己、以及我带大家做项目的经验,给出一些建议。

只要能够做到下面这些点,保证你能够学好项目,掌握独立开发项目的能力。

学好项目的建议

1)选择合适的项目。一般情况下,做项目的前提是学完至少一门开发框架,比如前端的 Vue / React、后端的 Spring Boot。

一定要根据自己当前的技术栈和水平选择项目。比如刚学完框架时,不要为了赶时间一上来就做微服务、高并发项目,很容易吃不消,而是要先从掌握项目基本的开发流程开始,一步步学习项目开发方法、逐渐接受新的技术。

刚开始学项目感觉难、做得慢,是很正常的,因为你缺少知识和经验。如果发现项目中有太多你没学过的技术、并且没有对应的教程讲解,那么就先暂停项目,即时补充知识,再来学习。

2)多敲代码。我接触过一些同学,看完了几套视频教程后,还是无法自己敲项目,大概率就是因为做项目的过程中 “只顾着看教程” 了,没有自己动手练习。很多时候,看别人敲代码感觉并不难,但一看就会、一写就废,看完教程后,必须自己把每行代码都敲出来,才算是真正地学过这个项目,而不是将 “掌握理论”、“熟练背诵八股文” 作为学好项目的标准。

3)自主思考。在跟着视频教程做项目的过程中,尽量多思考,比如 “为什么要这么设计?这么设计有什么好处?为什么代码要这么写?有没有更好的写法?” 等等,必要时通过查阅资料来验证自己的思考。如果一味跟着讲师的节奏走,你或许可以完成项目,但是做完这个项目后,你可能很难自主做出一个类似的、或者更好的项目。有的时候,讲师说的不一定是最优解。

像我带大家做项目时,会经常引导大家思考。有时候故意留一个小坑,结果很多同学想都不想就跳到坑里了;也有些同学,能够提出和我不一样的实现方案,哪怕方案未必合理,能自己思考,就很棒了。

4)持续记录。在做项目的过程中,一定要多做笔记,不要觉得教程配套的笔记很详细了,自己就偷懒不写。笔记的作用是帮助自己复习,所以重点是记录自己做项目时的理解思考、遇到的问题和解决方案。此外,自己写过的每一行项目代码,都要完整地保存,等你学过更多技术知识后,再回过头来看自己的代码,一定会感叹自己的进步。

5)自主解决问题。这点是最重要的! 很多同学一遇到问题就紧张、害怕、担心自己解决不了无法继续做项目,然后就疯狂求助他人。

负责任的说,我写代码近 8 年,从学生时代开始,可以说 99% 的 Bug 都是自己解决的,所以大家不要有这种担心,因为你学的技术几乎都是主流的,你遇到过的 Bug,别人也一定遇到过。在遇到项目报错时,要先搜集足够多的错误信息(比如通过日志),然后查阅搜索引擎、技术社区、官方文档、甚至现在还可以问 AI,大概率是有解决方案的。即使真的没办法解决,在向他人求助前,要保证自己的问题描述地足够清楚、并且清晰列举已经尝试过的解决方案,别人才能更快地帮你解决。

6)多读官方文档。如今新技术层出不穷,不可能每个新技术都有好心人给你录制保姆级教程。而且工作后,很多公司可能会有自研技术,只有内部同事用过,我们只能通过阅读文档来解决。所以建议大家在学完一门新技术后,花 1 - 2 个小时就好,阅读一下官方文档,不仅能了解一些教程讲解之外的技术特性,还能提升自己阅读文档、学习新技术的能力。

7)多写文档。除了记笔记外,每做完一个项目,都必须写一篇完整的项目总结文档。不要嫌麻烦,写总结文档的过程中,你会从上帝视角再回顾一遍整个项目的背景、设计、实现、亮点等,帮助你复习巩固、加深印象。也便于你更快地将项目写在简历上、或者开源和分享自己的项目。有能力的同学可以多画一些图,比如功能模块图、架构图、UML 类图等,正所谓一图胜千言,绘图能力也是优秀程序员必备的特质。

如果你发现自己写不出总结文档,那么大概率你对这个项目还是不够熟悉,没有完全掌握,这时再对照着自己的笔记快速回顾吧。

如果时间比较充足,最好是能够口述整个项目的背景、技术栈、核心业务流程、核心设计、项目难点、开发过程、测试过程、上线过程、解决过最复杂的问题等等,锻炼自己的表达能力,也为后续的面试做了准备。

8)自主优化。跟着教程完成项目后,需要给项目增加几个扩展点、或者回顾自己的代码并寻找优化空间(比如优化代码规范),从而增加简历的区分度。这也是区别是否能够入职大厂的一个重要因素。这个优化不一定是刚完成项目时立刻就去做的,可以等过了半年后,再以现在的水平去优化之前做过的项目,所以鱼皮上面也建议了,自己写的代码一定要留好。

9)上线项目。在本地完成项目后,最好将项目上线,并且在线上正常运行一段时间,跑通整个流程,这是独立开发者必备的技能。此外,之前也分享过,上线项目能够大幅增加简历的真实性

10)主动分享。将项目上线、并且编写好项目总结文档后,可以将项目和文档分享给其他同学。这样做的好处是,其他同学会帮助你 “测试” 网站,指出项目的不足之处,从而给你带来更多优化项目的思路和机会,而且对其他同学也有帮助,会给你提供更多的正反馈。鱼皮刚开始做分享也是这样,通过输出知识给自己带来更多学习知识的动力。

11)学会合作。时间有限的情况下,不需要前端和后端都看教程并且自己实现,可以找和自己方向互补的朋友,协作开发,一起参加一些竞赛也是极好的。


有同学会问了:鱼皮啊,上面这些点都要做到,不会很费时间么?

的确是这样,但是想学好编程、熟练做出项目,最最最重要的 2 点就是 掌握正确的方法 、并 投入大量的时间 ,没有什么捷径。

只要这两点都能做到,肯定能掌握独立开发项目的能力。


以上是通用的学好项目的建议,如果是学习鱼皮系列项目,可以按照以下顺序。

鱼皮系列项目的学习顺序

学完至少一门前端(比如 Vue / React)或后端框架(比如 Spring Boot)后,可以开始鱼皮原创项目系列学习。

一种最快速的学习方法是,先通过鱼皮的项目实战新技术,然后看完整的教程来系统学习新技术,事半功倍。

  1. 用户中心项目:适合新手入门,系统学习完整的项目开发流程和上线方法。
  2. 伙伴匹配系统:巩固开发流程,学习 Redis、事务、并发编程、大数据推荐思想等后端知识。
  3. API 开放平台:学习实践前后端模板开发 + 架构设计 + SDK 开发 + API 签名认证 + Dubbo RPC + Gateway 微服务网关。
  4. 聚合搜索平台:学习实践爬虫 + Elastic Stack + 设计模式 + 数据同步 + JMeter 压力测试。
  5. 智能 BI 项目:学习实践异步化 + 线程池 + RabbitMQ 消息队列 + AI 应用开发 + AIGC Prompt 优化。
  6. OJ 判题系统:学习实践前后端模板开发 + 多种设计模式 + 单体项目微服务改造 + Linux 虚拟机远程开发 + Docker 代码沙箱 + Java 安全控制。
  7. 代码生成器共享平台:深入业务场景,学习实践命令行开发、模板引擎、Vert.x、设计模式、对象存储、性能优化、存储优化、系统设计、分布式任务调度系统等。
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员鱼皮 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 学好项目的建议
  • 鱼皮系列项目的学习顺序
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档