开发流程及开发中的术语

4392 字
22 分钟
开发流程及开发中的术语

开发流程及开发中的术语#

一、一般开发流程#

注意:下面介绍的只是一个比较通用的开发流程。实际上,每家公司的流程可能都不一样,甚至同一个公司不同项目的流程也会有差异。所以入职之后,一定要尽早搞清楚你所在团队的实际开发流程——比如用什么分支管理、怎么提测、开发规范、谁来部署、环境有哪些、上线审批走什么流程等等。别等出了问题才去问,早点了解心里更有底,也能避免后续因为流程问题而内耗。

开发流程
开发流程

二、开发流程关键步骤解释#

  1. 需求评审

    评审需求是否清晰、可行、可验收。重点确认:

    • 目标是什么(为什么做)
    • 范围边界(做哪些 / 不做哪些)
    • 验收标准(做到什么算完成)
    • 技术评估:能不能做、有没有更简单的实现方式、是否需要提出替代方案,以及技术上的风险和依赖

    建议:需求评审时建议录音(线下会议)或录屏(线上会议),方便后续回顾。会上讨论的东西可能很多,光靠脑子记容易遗漏关键细节,尤其是新人,有录音/录屏回头听一遍,理解会更到位。

    举个例子:产品提出需求”在大屏上实时展示用户操作记录”。

    • 目标:让运营人员能及时看到用户行为,便于监控和分析
    • 范围边界:只展示操作记录,不包含用户个人信息;只在内部大屏展示,不做对外功能
    • 验收标准:大屏能显示操作记录,延迟不超过1分钟
    • 技术评估:实时同步开发成本高、容易出 bug、对服务器压力大。可以提出替代方案:“每5秒刷新一次”,既满足业务展示需求,又大幅降低实现难度和风险
  2. 项目经理分配任务

项目经理会把需求拆分成任务,分给不同角色(后端/前端/测试等)。有些项目经理会在分配任务时顺便问你“多久能做完”。这个时候不要为了显得厉害就当场拍时间,可以更稳妥地说: “我先把需求理解清楚,把实现方案和影响面梳理一下,再给你一个更准确的时间。” 这样既专业,也能避免因为信息不全导致估时不准。

  1. 根据任务进行排期

如果项目经理只分配了任务、没有给具体排期,那就需要开发人员自己先做排期。排期时不要只算写代码的时间,至少要把下面这些都算进去:

  • 需求梳理/方案设计(复杂需求很重要)
  • 编码实现
  • 自测(主流程、边界、异常)
  • 联调(和前端/其他服务对接)
  • 修 bug + 回归验证
  • 部署测试环境/提测沟通(如果你负责) 你可以给出一个拆解后的时间,而不是一句“我估计两天”。这样项目经理更容易判断整体排期是否合理。
  1. 确认任务能否按时完成,有没有疑问

    如果项目经理在分配任务时已经给了排期,那么在排期发出来之后,你要第一时间判断:这个时间是否合理、有没有卡点。

  • 有问题一定要及时沟通,不要闷头硬扛到最后爆雷,影响整个版本。
  • 沟通时不要只说“有难点”,要把难点说具体:卡在哪里、影响是什么、需要谁支持、有没有替代方案。 很多你以为的难点,可能只是你还没见过类似实现——项目经理或同事一句话点一下,你就知道可以参考现有样例,复制改造就能解决。
  1. 根据需求进行设计开发

    有些公司在开发前要求写设计文档(方案文档),那就按规范写并参与评审。不会写时可以找同事要一份模板参考。 如果公司不强制要求,你也可以在需求复杂时自己简单写一版方案,目的不是走形式,而是通过设计,能够对需求有更深刻的理解。

当然,开发过程中如果对需求有疑问,仍然要及时跟产品经理沟通,避免做偏。

  1. 自测

    代码写完后,先自己测一遍,把低级问题消灭掉。至少要验证:主流程、关键边界、常见异常,以及日志/错误码是否符合预期。

    举个例子:假设你写了一个”根据用户ID查询订单”的接口,自测时至少要验证:

    • 主流程:传入正常用户ID,能返回订单列表
    • 关键边界:用户ID为空、用户ID不存在、用户有0条/1条/多条订单
    • 常见异常:参数格式错误(如ID传了字符串)
    • 日志/错误码:正常返回日志是否记录、异常时错误码和提示信息是否清晰
  2. 与前端联调

    自测通过后,与前端进行联调,重点是把”各自能跑”变成”整体能跑”。要对齐:

    • 接口字段(名称、类型、是否可为空、默认值)
    • 入参校验规则
    • 返回结构与异常处理(错误码、提示信息)

    联调过程中前端往往也会发现一些问题(字段不一致、边界漏测、错误码不匹配、后端异常报错等),这些都需要你配合修复。

  3. 提测

    联调完成后,将个人分支的代码合并到测试分支(如 testdevelop),部署到测试环境,提交给测试团队验证。

    测试过程中大概率会发现 bug,你需要在个人分支上修复,修复后再次合并到测试分支、部署测试环境,让测试同学重新验证。

    注意:不要在测试通过之前就合并到主分支,避免有问题的代码污染主分支。

  4. 代码评审(CR)与上线发布

    测试全部通过后,将代码推送到远程仓库,提交合并请求(MR/PR)到主分支(如 mastermain),等待同事进行代码评审。

    为什么 CR 放在这个阶段? 因为测试过程中会反复修复 bug,如果提前做 CR,这些修复的代码就没有被 review。在合并到主分支时做 CR,审的就是最终稳定版本,所有改动都包含在内。

    CR 的目的不是挑毛病,而是:

    • 保证质量:发现潜在的逻辑漏洞、边界问题、安全隐患
    • 知识共享:让团队成员了解彼此的改动,避免信息孤岛
    • 统一规范:确保代码风格、命名、结构符合团队标准

    新人必做:入职后先搞清楚团队有没有代码评审有没有相关的开发规范(命名规则、代码风格、分层结构、注释要求等)。如果有,写代码的时候就按规范来,别等 CR 的时候被指出一堆规范问题——逻辑问题可以理解,但规范问题全是本可以避免的,既浪费评审人的时间,也显得自己不够专业。

    CR 一般关注:逻辑是否正确、是否有更好的实现方式、是否有遗漏的异常处理、SQL 是否有性能问题、是否有安全风险等。

    新人对待 CR 意见的态度:虚心接受,不懂就问。CR 意见不是质疑你的能力,而是帮你快速成长的途径。有不同看法可以讨论,但不要把意见当成针对个人,本能地反驳或找借口。

    CR 通过后,合并代码到主分支,部署到生产环境。

    上线后要做的事

    • 观察监控和日志:关注错误率、接口响应时间、系统资源使用情况,确认服务运行正常
    • 及时响应问题:如果出现严重问题,第一时间通知相关人(项目经理、测试、运维),并评估是否需要回滚
    • 回滚优先于修复:线上出问题时,先恢复服务(回滚到上一版本),再排查根因,避免长时间影响用户

    部分公司会采用灰度发布,先让小部分用户使用新版本,确认没问题后再全量放开。

三、常见术语#

下面列出的是通用术语。实际工作中,每个公司、每个项目还会有自己的内部术语或业务术语。遇到不认识的术语,可以先百度或问大模型,如果查不到,大概率就是内部术语,直接问同事即可。

但要注意:通用术语不能靠临时查,必须提前掌握。如果连这些基本术语都不知道,和同事沟通时很容易懵,甚至露馅。

3.1 测试相关#

术语一句话说明
测试用例(用例)测试人员编写的测试方案与步骤,包含预期结果
自测开发完成后自己先测一遍,减少低级 bug(详见第二章第6步)
提测开发把版本交给测试验证(详见第二章第8步)
单测(单元测试)对方法或小功能的验证,通常由开发编写
冒烟测试提测后测试人员做的第一轮快速验证,只覆盖主流程,确认核心功能可用后再进入正式测试
功能测试按需求验证功能是否符合预期
回归测试修复 bug 后再测一遍,确认问题解决且未引入新问题
集成测试多个模块/服务组合起来一起测,验证”整体链路”是否通
兼容性测试在不同系统、浏览器或设备上的适配验证
压力测试(压测)验证系统在高并发或大流量下的性能与稳定性
灰度测试小范围先发布给部分用户试用,逐步扩大使用面,边用边观察问题(与”灰度发布”含义接近,侧重验证阶段)
缺陷(Bug)测试发现的问题记录与跟踪项
严重级别问题影响范围与危害程度(致命/严重/一般/轻微)
优先级修复处理的先后顺序(P0-P3 等)

3.2 环境与设备相关#

术语一句话说明
服务器可以运行服务应用的机器。只要你的电脑部署了服务,也可以理解成就是一个服务器
物理机实体服务器,相对虚拟机而言的真实硬件
虚拟机运行在物理机上的逻辑机器
容器轻量级运行环境(如 Docker),便于部署
开发机开发人员日常使用的工作机器,可安装开发软件、访问内网平台并进行联调
环境开发中常说的环境一般是指系统运行所依赖的全部外部条件的总和,包括硬件(服务器)和软件(操作系统、MySQL、Redis等)
开发环境开发人员本地编码和自测的环境
测试环境供测试使用的环境,通常接近真实业务
预发环境接近生产的验证环境,用于上线前最后验证
生产环境真实用户使用的环境,变更需谨慎
VPN远程安全连接公司内网的通道(在家办公常用)
堡垒机进入内网环境的统一入口,负责登录认证、权限控制和审计
跳板机登录后用于中转访问其他内网服务器的机器
内网仅在公司或单位内部可访问的局域网(详见《基本的网络知识》)
外网互联网,面向公众可访问的网络(详见《基本的网络知识》)

3.3 项目管理相关#

术语一句话说明
PRD产品需求文档(需求背景/范围/验收标准)
需求评审团队对需求范围与可行性的统一确认(详见第二章第1步)
设计评审对技术方案与架构设计的讨论与确认
原型图产品功能的页面原型,用于指导前后端开发
任务拆分将需求拆解为可交付的开发任务
排期对任务的时间估算与交付计划(详见第二章第3步)
迭代以固定周期推进的开发交付单位
版本一次发布的功能集合与版本号
分支多人协作时的代码隔离与并行开发方式
合并请求(MR/PR)将分支代码合并到主分支的申请流程
代码评审(CR)合并前对代码质量与规范的检查
风险可能延期/出事故的点,要提前说并给预案
依赖你要完成必须等别人先完成的东西
联调前后端对接接口并修正联调问题的过程(详见第二章第7步)
上线/发布将功能部署到生产环境对外提供(详见第二章第9步)
回滚上线后出现问题时恢复到上一版本
灰度发布按比例逐步开放新版本,控制风险

3.4 技术相关#

术语一句话说明
接口日常开发中说的”接口”通常指 API 接口(即一个可访问的 URL 地址,前端通过它与后端交互数据)。Java 语法中的 interface 是另一种概念,指的是类的行为抽象
接口文档描述接口地址、参数、返回与错误码
北向接口提供给外部厂商或运营商接入的接口
南向接口向下对接下游系统或设备的接口
幂等同一请求重复调用,结果保持一致
鉴权/授权验证身份与权限是否允许访问
开关功能可随时开/关,用于灰度/止血
全量同步每次都同步全部数据
增量同步首次全量,之后只同步新增或变更的数据
数仓(数据仓库)用于存放与分析业务数据的系统
HTTP/HTTPS常用 Web 传输协议,HTTPS 更安全(详见《基本的网络知识》)
JSON常用接口数据格式
RPC远程过程调用,服务间通信方式
ESElasticsearch,基于 Lucene 的分布式搜索引擎
SSO单点登录
消息队列用于在服务间异步传递消息的中间件,可以实现削峰填谷、系统解耦(如 Kafka)
缓存将数据存储在高速存储层(如 Redis),以减少对数据库的访问,提升读取速度
负载均衡将用户请求分发到多台服务器上,以提高系统的处理能力和可用性
ping测试两端 IP 是否可达(详见《基本的网络知识》)
telnet测试两端应用端口是否可连通(详见《基本的网络知识》)
日志运行记录,用于排查问题与追踪行为
监控/告警系统指标采集与异常通知
CI/CD自动构建、测试与部署的流程
密评对系统敏感数据加密与安全性的评测

3.5 敏捷与协作相关#

术语一句话说明
敏捷开发以短周期迭代、快速交付、持续反馈为核心的开发方式
站会每天15分钟左右的短会,同步昨天做了什么、今天计划做什么、有什么阻塞
看板可视化任务状态的工具或页面,常见状态:待开发→开发中→测试中→已完成
复盘/回顾迭代或项目结束后,总结做得好的和需要改进的
Owner某个功能或模块的主要负责人

四、新人常见误区#

以下是新人入职后容易踩的坑,提前了解可以少走弯路:

1)自测只走正常流程

只测”happy path”(正常流程),不测异常和边界,结果提测后被测试同学打回来一堆 bug,反而耽误时间。

正确做法:自测至少覆盖——正常流程、参数为空/非法、权限不足、数据不存在等常见异常场景。

2)不看现有代码就动手改

拿到需求直接写新代码,不先了解现有逻辑,结果改出新 bug 或者重复造轮子。

正确做法:先通读相关代码,理解现有逻辑和设计思路,再动手。不懂的地方问同事。

3)上线完就不管了

代码部署到生产环境后就去做别的事,不看监控、不看日志,出了问题都不知道。

正确做法:上线后至少观察15-30分钟,关注错误日志、监控告警、接口响应时间,确认服务稳定运行。

4)估时只算写代码的时间

排期时只算了编码时间,漏掉了自测、联调、修 bug、写文档的时间,导致实际交付时间远超预期。

正确做法:排期时按”编码占40%-50%“来估算,留出自测、联调、修 bug、 buffer 的时间。

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
开发流程及开发中的术语
https://study-docs-158.pages.dev/posts/开发流程及开发中的术语/
作者
我的学习小铺
发布于
2026-08-01
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
我的学习小铺
学而时习之
分类
标签
最新动态
站点统计
文章
41
分类
7
标签
3
总字数
122,278
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.15.3
文章许可
CC BY-NC-SA 4.0