Introduce
推剪辑
第一期 剪辑安全播放模块
- 第三方上传的非法检测
- 存储和播放的防盗刷
- 播放性能的提高
第二期 弹幕评论模块
- 视频不打开就可以显示弹幕
第三期 图集存储展示模块
第四期 首页电影推荐模块
核心功能要重要考虑和设计,不能有缺失,普通功能要用做,功能详细给出具体方案,要能做讲解,没有歧义
# Java规范
# 3.1 controller接口对象必须要严格校验⭐
前端不可靠,必须校验
不用Validate注解
# 3.2 数据库设计规范
(1)数据表,除流水表外,需要有四个默认字段id,status,addTime和updateTime
C端项目默认字段 不允许出现isDelete
(2)id不允许出现bigint
(3)不允许使用外键
# 3.3 枚举类的使用⭐
(1)controller接口参数,需要使用enum来校验
(2)service层的接口,如果使用到枚举的id,参数需要使用枚举类;而mapper层不需要。即service是业务相关,而mapper层只与数据有关,与业务无关。
?
// 业务逻辑校验(例如:只有 PENDING 可改为 PAID)
if (status == OrderStatus.PAID) {
checkInventory(orderId);
}
// 调用 Mapper 时,将枚举转换为 code
orderMapper.updateStatus(orderId, status.getCode());
避免的坑
- ❌ 不要在 Mapper 中直接传递枚举(如
OrderStatus
),否则 MyBatis 可能序列化失败。 - ❌ 不要依赖枚举的
ordinal()
(默认序号),必须显式定义code
字段,防止枚举顺序变更导致数据错乱。
# 3.5 设计文档和接口文档规范
(1)难点的解决方案,要先从正常量级分析打通全部流程;不允许整个流程没梳理清楚,上来就针对其中的一部分使用高大上的方案
在实习工作中,就相当于时间白白浪费了
(2)接口文档,如果是对当前登录的用户进行操作,接口不要加userId参数
# 3.6 代码规范⭐
(1)service层不允许出现ResponseDO
(2)C端项目,除特定场景,错误码不能出现全局错误码
(3)分页和数据库查询不使用使用MP (不用硬性要求)
# 文档设计
包括设计文档和接口文档两部分
# 设计文档
要点:
(1) 亮点和难点部分,必须明确到解决方案(这是最重要的部分)
(2) 数据库设计:非流水表,需要包括4个默认字段
# 接口文档
要点:
(1) 请求参数要设计到位;但是返回数据因为在设计阶段,可以只把关键字段设计好
# 第一期
# 产品会
#
单个电影
功能:
左右滑,需要数值,(不同排序的数值id)
时间:
后端直接给时间,前端自己算
排序接口:
排序项,不要加pagesize,写死
参考抖音,更像b站
重点:防盗,防录屏,滑动水印
防下载,尝试哪个方案
亮点
做完的文档要评审
评论是第二期
# Java开发文档
必须明确到解决方案(这是最重要的部分)