前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >带大家做了 10 多个项目,发现了一些通病

带大家做了 10 多个项目,发现了一些通病

作者头像
程序员鱼皮
发布于 2025-01-15 01:58:54
发布于 2025-01-15 01:58:54
1100
举报
文章被收录于专栏:鱼皮客栈鱼皮客栈

大家好,我是程序员鱼皮。就在昨天,我又带大家做完了一个新项目 《智能协同云图库平台》,已经带大家做了十多个项目了,自然也发现了很多大家在学项目过程中的问题。

最了解学生的,莫过于老师和学生自己。而我经历了自学阶段,从学生成长为了老师,所以也很清楚怎么自学项目,效率才能更快一些。这篇文章,就分享一下我发现的大家自学项目时的通病。

注意,本篇文章中我写的所有内容,目的都是为了帮你节约时间,提高自学效率。

如果你正好有下面这些情况,请务必及时调整!

自学项目的通病

1、重复工作

任何业务类项目基本都是从项目初始化、编写增删改查开始的,在你做第一个项目的时候,自己手动编写这些代码没有任何问题,主要是熟悉自己搭建项目的方法和过程。但当你做第 2 个、第 3 个项目的时候,如果还在从 0 开始写基础代码(比如全局异常处理器、一些工具类),那就属于是浪费时间了,完全可以通过复用自己之前的项目代码、使用工具自动生成、或者搭建一个自己的项目模板来提高开发效率。

像我工作的时候遵循一个原则 —— 只要有重复劳动,都会尝试能否通过自动化的方式来提高效率。大家学项目时也是如此,避免在重复工作上耽误时间,不要满足于 “自己重复代码写得有多快”,而是要多把时间花在学习新的技术知识上。

2、死守教程

大家都知道,每个教程中作者都会选择特定的版本、技术和工具来教学,没有人能保证这些技术和工具不更新,所以每个教程一定有自己的 “保质期”。

像我在几年前最开始带大家做第一个项目 —— 用户中心项目时,就吃过技术更新的亏,由于前端框架的更新,导致前端部分的开发跟教程有一些不一致。所以后续我在带大家做项目时,会倾向于选择稳定的框架和版本。

当然,这是对于项目作者来说的。那对于学习项目的同学来说,可能就会产生很多问题:

  • 为什么我使用的版本跟教程不一致了?
  • 为什么教程中用的工具有这个按钮,但我用的工具没有这个按钮?
  • 为什么我在官方文档中找不到教程中写的内容了?
  • 为什么我跟教程中操作一模一样,但是运行结果不同?

很多初学者会因为这些问题,纠结很久,甚至不敢接着往下做项目,其实大可不必。

任何教程都有保质期,但解决问题的方法是灵活的。

如果使用的版本或环境跟教程不一致,那么不妨安装跟教程相同的版本(比如前端可以用 NVM 管理 Node.js 版本),或者查阅下如何使用新版本;如果用了比教程更新的工具,那么就在网上搜一下新版本的工具有没有教程中要执行的功能;如果官方文档跟教程中的内容不一致,那么就仔细阅读一下官方文档中最新的使用方法;如果跟教程中操作一模一样但结果不同,那么不妨自己 Debug 一下来解决问题,有可能就是教程本身有错误呢?

总之,在出现跟教程不一致的地方时,可以先记录一下问题,并且自己查阅资料和文档,不必完全死守教程。

3、滥用技术

之前有个同学问我:鱼皮,我们公司想做个发券功能,现在的想法是用 Redis 分布式锁 + 消息队列 + blablabla。。。

我反问他:你们发券功能的 QPS 是多少?同时要发多少张券?

他跟我说:我们是管理员给用户发券,每批 1000 张。

我接着反问他:既然是管理员控制发券,数量也只有 1000 张,那你不妨思考一下,真的有必要用到这些技术么?

类似的情况我之前也分享过,可以看 这篇文章

在企业中,业务 > 技术,技术是为业务服务的,要根据业务选择合适的技术实现。

一般来说,我们在思考业务实现方案时,能少用一个技术就少用一个技术,减少开发和维护成本。

但我发现有些同学可能是学的技术多了、也可能是八股文背多了,在做项目功能时,反而是先搬出一大堆的技术,完全不去考虑有没有必要用这些技术,有点儿 “为了学习而学习” 了。其实从学习的角度来说,多用点技术倒也没什么问题,但是如果你把这些写到简历上,面试官就会问你:“为什么要用这个技术?不用它行不行?”,这时你又该如何回答呢?

所以大家即使是自学项目,也建议找到合适的业务场景,合理运用技术。就像我昨天刚给大家讲完 DDD 领域驱动设计,有些同学就表示 “以后就用 DDD 架构来做项目了”,但其实大家自己做的项目,90% 以上是没必要用 DDD 的。

DDD 的目录结构

当然,多学新技术肯定是好的,相当于填充了我们的弹药库;但使用弹药时,肯定优先选择成本低的、最合适的。

4、不够灵活

我在讲 DDD 领域驱动设计时,先问了大家一个问题:如果必须要 2 选 1,你觉得开发项目时理论和实践哪个更重要?

结果大家一致选择了 “实践”。

没错,理论再完美,不能落地也无法创造价值;理论再丰富,也不一定能满足所有的实践需要。做项目时,理论的指导固然重要,但一定要结合实际情况按需运用和调整。

举个例子,大家学数据库理论的时候,老师可能会讲 “我们可以通过外键来保证数据完整性,要遵循第三范式,要遵循 ACID 原则”。但实际开发中,我们可能会用逻辑外键(不添加外键约束)的方式来实现表之间的关联,可能会违反数据一致性,但是能提高写入性能。

我在带大家做项目的过程中,发现很多同学就会特别执着于 “理论和规范”,比如:

  • 你的目录命名怎么是 utils 而不是 util?为什么数据库对象用 Entity 而不是 PO?
  • 为什么你的数据库字段用驼峰而不是下划线?
  • 为什么你只创建一个对象,却不使用单例模式?
  • 为什么你的接口不遵循 Restful 的规范,删除资源时还是使用 Post 请求?

这些都是我经常收到的问题,但其实都是无足轻重的问题。大家不要把时间浪费在纠结理论或规范上,毕竟这些都是人定的,在不违背原则或产生 Bug 的情况下,我们保证团队内部、或者自己开发时的规范保持一致即可。养成统一的编码风格和开发习惯,也能帮我们提高开发效率,没必要完全和教程保持一致。


除了上面几点外,我们也要时刻把握自己的学习重点,比如后端方向的同学,就尽量不要花时间在调试前端的样式上。像我大学的时候就是学的有点太杂了,有一段时间沉迷于抠前端的像素无法自拔,现在回过头来想想,确实浪费了太多时间。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
鱼皮的 AI 超级智能体项目,新鲜出炉!
这次的项目将以 AI 为核心,讲解一系列当下最流行的新技术知识,项目体量适中,我会争取带大家快速搞定,能够作为简历上的亮眼项目,应对社招和秋招提前批!
程序员鱼皮
2025/04/26
2000
鱼皮的 AI 超级智能体项目,新鲜出炉!
开发小同学的骚操作,还好被我发现了
团队的后端开发小 c 拿到需求后就去调研了,最后打算采用 Spring Boot Starter 快速整合 Websocket 来实现,接受前端某个用户传来的消息后,转发到接受消息的用户的会话,并在数据库中记录,便于用户查看历史。
程序员鱼皮
2024/06/04
1330
开发小同学的骚操作,还好被我发现了
回味下自己几年前写的 “酱香代码”
还记得我在几年前直播带大家开发过一个表情包网站,网站名叫 “爸爸”、域名是 father.cool:
程序员鱼皮
2023/09/19
2650
回味下自己几年前写的 “酱香代码”
我做了几个项目,还是啥都不会?
为什么同样是做一个项目,有的同学完成得很快、而且做完后就能自己做其他项目了?而我已经做了几个项目,还是感觉啥都不会?
程序员鱼皮
2024/01/29
3350
我做了几个项目,还是啥都不会?
7 天,凭这个项目,我进了大厂!
大家好,今天这篇文章是 编程导航星球 的 404ERROR 同学的面经分享(已上岸大厂实习): 星球原文链接:https://t.zsxq.com/0bngfX6Ll 首先,感谢鱼皮的 接口开放平台项目,我凭借该项目通过了多个大厂、中厂的面试,最终拿到了某大厂 Java 后端实习生的 offer。 在这里分享一下十几场面试下来被问到关于该项目的一些真题,回馈星球。以下回答都是基于我自己的理解整理的,如果有不准确的地方,希望各位大佬指教,也希望鱼皮能多出几个这样的项目! 问题1 项目是你自己做的吗?你为什么做
程序员鱼皮
2023/03/29
1.3K0
7 天,凭这个项目,我进了大厂!
AI 智能答题项目,保姆级教程
之前也说过,大家学的都是差不多的技术、做的都是差不多的项目,面试官怎么去比较呢?那就是看谁的经历真实、谁做过的项目真实。简历上放项目上线地址,是最能体现真实性的方法。
程序员鱼皮
2024/10/23
2320
AI 智能答题项目,保姆级教程
努力学计算机四年,终于进腾讯了!
看了几个高赞回答后,真的是感同身受,也想和大家分享一下自己大学的学习经历,算是给自己一个继续前行的动力吧。
程序员鱼皮
2021/05/07
1.2K0
学会这招,一天做一个项目!
最近在直播带大家做新项目,欢迎参与 大家好,我是鱼皮。首先强调,这篇文章不是标题党,而是真真实实地给大家分享我快速开发项目的一个套路。 相信很多学编程或者做编程方向工作的同学都曾经有过这样的迷茫:感觉我写的代码、做的项目都很简单,每天都是重复写增删改查,没什么成长,浪费了很多时间。 这是再正常不过的了! 但是,但你意识到自己在反反复复做同样的、机械的工作时,就应该思考:如何提升自己的开发效率、减少重复工作了。 像我从大学就开始做项目,那会儿为了学习,刻意尝试过各种前后端开发框架和工具。其中很多框架都很好用
程序员鱼皮
2023/03/29
4640
学会这招,一天做一个项目!
分享 10 个高星的创意项目!
大家好,我是鱼皮,今天分享一些开源的、有趣的项目,主要目的是给正在自学编程、不知道做什么项目的小伙伴一些思路启发。
程序员鱼皮
2021/08/31
1.8K0
这 10 套项目,一个比一个惊艳!
大家好,我是程序员鱼皮。首先大家不要太在意封面,那是我前段时间穿越到古代的形象(狗头)。
程序员鱼皮
2024/11/18
1150
这 10 套项目,一个比一个惊艳!
首次公开!我快速做项目的技巧
认识我的朋友都知道,我是一个实践派,相比研究枯燥的理论知识,我更喜欢做自己想做的项目,用技术来实现自己的想法的感觉真的很棒。
程序员鱼皮
2022/11/07
6270
首次公开!我快速做项目的技巧
DDD 领域驱动设计落地实践:六步拆解 DDD
相信通过前面几篇文章的介绍,大家对于 DDD 的相关理论以及实践的套路有了一定的理解,但是理解 DDD 理论和实践手段是一回事,能不能把这些理论知识实际应用到我们实际工作中又是另外一回事,因此本文通过实际的业务分析把之前文章中涉及的理论和手段全部带着大家走一遍,我想通过这种方式,让大家实际的感受下 DDD 落地过程中会遇到哪些问题以及我们应该怎样去解决这些问题。
慕枫技术笔记
2023/03/20
8680
DDD 领域驱动设计落地实践:六步拆解 DDD
项目启动失败?不用慌!
大家好,我是老鱼皮。 想必所有学编程的同学都遇到过这样一个问题:把别人的代码或项目拉取到自己的电脑上,然后按照别人提供的步骤去启动项目。结果当你自信满满地点击运行键时,就看到了。。。 这个时候,很多初学编程的同学就会慌了。为什么我和你的代码一样、操作一模一样,结果项目还启动失败了呢?! 不要慌,这其实是一个非常普遍的问题,也很好解决。今天这篇文章就来分享一下如何解决它。 ---- 首先,运行一个项目,需要考虑以下几个要素: 代码 环境(系统、平台) 依赖 资源 只要保证这 4 个要素和其他成功运行
程序员鱼皮
2023/03/29
2.1K0
项目启动失败?不用慌!
我做了个网站,带你入门网络安全
大家好,我是程序员鱼皮。还记得么,两年前,在我的网站和服务器被无数次攻击之后,我没有放弃制作网站,而是干脆做了一个全是漏洞的网站给大家来 练手网络攻击 自学网络安全!
程序员鱼皮
2024/11/18
1410
我做了个网站,带你入门网络安全
拜托,大厂做项目可不简单!
很多未工作过的小伙伴都很好奇:企业中做项目是怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢?
程序员鱼皮
2021/07/16
8860
Spring Boot 船新版本?我却很失望
先讲个故事,我大二的老弟小阿巴,昨天用 IDEA 开发工具初始化了个 Java Spring Boot 的项目。明明操作流程和往常一模一样,结果项目却跑不起来。
程序员鱼皮
2023/03/30
3800
Spring Boot 船新版本?我却很失望
这是用框架的通病么?
这个问题并不难,所有的创建库表操作都是要通过 SQL 来执行的,所以我们只需要根据前端传来的字段来生成一句建表 SQL 就可以了。
程序员鱼皮
2022/11/07
4710
这是用框架的通病么?
我做了一款生成代码+数据的神器!
最近我在思考一个问题,每次我们开发新项目时,不是都要写 SQL 语句来创建数据库表嘛。然后我们为了开发测试方便呢,一般要往这个表里造一些假数据。
程序员鱼皮
2022/11/07
10.7K1
我做了一款生成代码+数据的神器!
编程小白,这样学了一年
大家好,我是鱼皮。今天给大家分享自己编程导航知识星球一位进步飞快的同学(小余)的学习总结。 星球原文链接:https://t.zsxq.com/0baWdCGOG 本文已获得小余同学的授权 一年就这么过去了,此刻回首,去年那个迷茫的我,似乎还在昨天。 改变前的回顾 2022 年 2 月 13 号是我改变的初始起点,在这个时间点之前,我对编程是一无所知,对电脑的接触仅限于小学玩过 4399 这类游戏,学历大专,专业技术为 0。 这是我那个时候的状态,是一个埋没在人堆里的大专生,刚匆匆结束了大一上半学期的实训,
程序员鱼皮
2023/03/29
1.1K0
编程小白,这样学了一年
面试被面麻,终于上岸知乎了!
大家好,今天这篇文章是编程导航星球的一路信仰的面试经历分享,希望对正在求职的朋友有所帮助~ 星球原文链接:https://t.zsxq.com/0b94CJPdY 知乎前端日常实习一面(已oc) 面试过程 面了45分钟左右,面试官评价还可以 自我介绍,问之前实习过吗? 问两个项目是做什么的?上线后的情况?//直接打开屏幕共享介绍的,上线后的数据统计平台用的 51LA 介绍项目是怎么实现的? 问网站是自己开发的吗?什么技术栈? 会用 react 吗? 了解,写过一个小项目 介绍第一个项目,聊了项目中的一些功能
程序员鱼皮
2023/03/29
6830
面试被面麻,终于上岸知乎了!
推荐阅读
相关推荐
鱼皮的 AI 超级智能体项目,新鲜出炉!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档