YWW
YWW
发布于 2025-07-30 / 6 阅读
0
0

《非官方文档V1.0.0》

开发流程


一、原型评审流程

1. 初步审核(初审)

  • 原型一出来,项目组就尽快安排初审。

  • 前端、后端、测试都得参与,大家一起看看有没有逻辑漏洞、漏的场景、或者实现难度大的地方。

  • 把问题集中列出来,反馈给原型设计的人。

2. 细化审核(细审)

  • 原型根据初审意见改完后,立马再来一轮细审。

  • 建议初审和细审最多隔两天,别拖,拖久了谁都忘了问题在哪儿。

  • 细审通过后,原型就“锁死”了,开发就按这个走。


二、开发排期和估时

1. 统计口径:按小时来

  • 所有任务估时一律按 小时 来算,别再写“几天”,太虚。

  • 每个人每天工作时间按 8 小时算,方便统筹安排。

  • 排期时不求绝对精确,但希望大家对自己的节奏有个数。

2. 排期怎么排

  • 原型定下来之后,由项目经理/负责人牵头排期。

  • 每个接口/功能要明确:

    • 谁做的

    • 大概要多久(小时)

    • 要不要联调

📋 示例排期表

模块

接口名称

开发人

预估工时

需联调

状态

用户模块

用户登录接口

张三

2 小时

未开始

订单模块

订单新增接口

李四

4 小时

开发中

支付模块

微信支付回调

王五

8 小时

待开始


三、开发流程和习惯

1. 开始前

  • 原型和业务先推理清楚,别拍脑袋上来就写。

  • 有问题就说,问题可以早说,但不能事后才提

项目过程中任何问题都欢迎提,但请尽量在前期或中期说清楚,别等上线才“突然想起来”。

2. 编码中

  • 代码写清楚点、注释加上、规范遵守一下,别人也要看你代码。

  • 有依赖的地方要提前沟通,别临上线才说“等别人接口”。

3. 提交前

  • 提交 Git 之前请自测完:

    • 正常流程 OK

    • 异常场景 OK

    • 边界值 OK

  • 自测通过之后再发起合并请求,最好顺手贴一下测试截图。


四、工作节奏和时间管理

  • 项目是按“周”为单位来推进的。

  • 每周更新一下任务进度,形式可以灵活:

    • 完成了啥

    • 还差什么

    • 哪块卡住了

  • 没做完的,自己安排时间补上,别一拖拖一周。

  • 排期和复盘统一用小时来统计,直观也好复查。


五、我们想要的氛围

不希望流程让人觉得“被管着”,所以我们更在意这几件事:

  • 话要说在前头:提前说问题,大家才有时间处理

  • 协作要坦诚:遇到难点直接讲,没人会因为你问问题而看轻你

  • 氛围要松弛:认真做事,不代表压抑做事

希望大家在项目里不仅交付结果,也能有好体验。流程只是基础,我们靠的是配合。


切忌:业务梳理好再做排期和开发,不要拿到原型就写代码!!!

业务梳理到什么程度才开工?

  • 理解业务需求,要做的是什么功能,要写什么接口。这需要一些理解,根据个人水平可以不特别细致但要做的功能要明确

  • 需求中涉及到的表结构和字段,有什么调整或要新建什么表,要十分明确!

  • 每个功能的逻辑:可以写伪代码梳理,可以提前建好请求响应封装类来梳理。要十分明确前端传什么数据过来,我们返回什么数据,根据原型图设置来初步确定。

  • 在第三步中,如果有无法闭环的逻辑和不合理的设定,先和产品沟通,务必清晰整个逻辑

  • 提问产品/leader 的时候,总结每个模块的问题结合原型贴图/具体的问题【例如:代码的某一段/某个环节】,具体的指出哪个地方不懂

    看原型-->熟悉业务逻辑-->思考需要建或修改什么表,有哪些字段-->写接口,制定请求响应封装类-->看逻辑能否闭环-->总结好问题问产品(先问产品,再问同事或leader)-->排期写代码

代码规范

1.1 避免单条sql语句循环 : 批量查询在仓储层中sql实现,不能在业务逻辑中循环单条sql。

避免三张表以上的联合查询,分成多个sql执行

dal: 和数据库表对应的实体,严格使用do操作数据库【**增/改/删**】,实体entity和dto直接用于查询sql

1.2 判断空值规范使用函数,CollectionUtils.isEmpty()

1.3 避免模糊匹配 LIKE %X,尽量少用select * (给出具体字段有助于业务理解,也能提高性能,具体问题具体分析)

1.4 接口添加注释,方法按功能命名(例:getXXXByXXX);service和repo层添加方法注释,对应的接口可以省略

1.5 增删改【操作数据库的行为】 用DO对象,查询等不涉及数据库字段值更改的用实体entity

1.6 类型转换entity-->do在仓储层做,service层只处理逻辑

参考:Java阿里巴巴代码规范-阿里云开发者社区


评论