当前位置: 首页 > news >正文

JAVA实习生问:为什么项目不用VO?

校大网原创,公众号首发

给刚开始的线上实习生做代码评审,发现有一个同学在返回给前端的Response DO 对象里面,又额外套了一层VO 对象

我就问他:“为什么要多加一层?没有任何逻辑的增加,就好像是脱裤子放屁。

他说看很多课程讲,VO 是给前端看的,可以更好地保证项目的规范。

听完我就晕了。我说:“是不是课程里说了一堆的 O—— 什么 DO、DTO、VO、PO?”

实际上,大部分所谓的规范,都是培训机构为了证明自己的东西好,强加的理论

大部分项目都不用 VO,因为本身返回给前端的内容就已经是封装好的。你多加一层,不管是后端还是前端,都是没有任何作用的;不加这一层,也不会影响后端的维护或者迭代。

这就好像,有的实习生上来写代码,就开始写错误码枚举。我说:“这不扯淡吗?”C 端业务一般都要迭代多年,一个 API 可能就有 3-5 条错误提示,而且这些错误大部分都只是跟当前的接口逻辑有关。

那项目运行三年,可能会有上千个 API,也就是五千个错误码。以后还能正常写代码吗?每次写代码都要去这五千个错误码里找一下,有没有相同的?

实际上,这些错误提示就是给前端反馈问题用的,没有其他的用处。所以,写错误码根本没有意义,更没有把它抛出为异常的意义。但反过来说,也不是绝对没有用 VO 的场景。有,比如说外包一类的项目,有可能因为交付的代码规范里有这个强制要求。

但是,这种情况并不是常规操作。包括错误码,一般 B 端的外包项目才会用到,不要把少量的使用场景当作正常标准

像有些同学的简历描述里,写着 “C 端业务使用异常和错误码”,甚至写 “使用 VO”,这个本身就是错误的。

http://www.cnnetsun.cn/news/1269639.html

相关文章:

  • 基于YOLOv26与EL成像的光伏板隐裂无人机巡检系统
  • MCP协议真比REST快3.8倍?揭秘TCP层优化、二进制序列化与服务发现协同机制:一线大厂高并发场景实证分析
  • CompressO:革命性智能压缩工具,让视频文件体积锐减93%的开源解决方案
  • 革新性Markdown浏览器工具:如何无缝提升文档处理效率
  • 基于PHP的GEO排名优化系统源码,适合快速开发应用
  • Realistic Vision V5.1在市场调研中的应用:消费者原型写实形象构建
  • 深入解析Synopsys DW_apb_i2c的I2C协议与多模式通信机制
  • 【数据可视化-168】2025年山东GDP大比拼 - 可视化大屏分析
  • 避开这些坑!用C#发送邮件验证码的5个常见错误及解决方案
  • COMSOL频域仿真进阶:超声相控阵动态聚焦与参数化扫描实战
  • ROS1老项目迁移必备:5分钟搞定ROS2环境下的bag包转换(附常见报错解决方案)
  • Qwen3-ASR-1.7B在客服场景中的应用:智能语音助手落地案例
  • 春联生成模型-中文-base效果展示:十组关键词生成惊艳对联案例
  • pip 安装编译时调用其他编译器(如mingw64),无需安装MSVC
  • 还在写代码调协议?VM342R这个“隐藏”功能,3分钟搞定无线开关
  • Skills智能体与Qwen3-ForcedAligner-0.6B的协同工作流设计
  • 范进说八股 | RabbitMQ篇——你兔哥在消息就在
  • So层Hook实战:绕过TikTok抓包校验的逆向追踪
  • GME多模态向量-Qwen2-VL-2B效果展示:跨文档关联图表与文字
  • MogFace人脸检测模型-large:电商图片人脸定位与裁剪实战教程
  • 单通道2.0-7.5V 持续电压1.5A H桥驱动芯片 SA8301S
  • 基于粒子群算法的电力系统无功优化研究(IEEE14节点)附Matlab代码
  • 比迪丽LoRA模型卷积神经网络原理关联:从图像识别到图像生成的桥梁
  • Spring Cloud Security:Oauth2使用入门
  • Qwen Pixel Art保姆级教程:Gradio界面各参数含义与推荐取值范围
  • Lingbot-Depth-Pretrain-Vitl-14 实战:为C语言应用提供深度感知SDK
  • LingBot-Depth-ViT-L14开源模型实战:Python调用REST API返回base64深度图
  • 规划计时器-备份(自己看)
  • FireRed-OCR Studio惊艳效果:化学分子式+反应方程式LaTeX精准提取
  • Element UI树状下拉选择器优化技巧:解决远程搜索与本地过滤的常见问题