四、开发流程
包括开发、测试和上线流程。
4.1 开发
- 如果有概要或详细方案设计(流程图),需严格遵循
- 按排期进行开发,每周或隔天进行进度反馈,避免信息差
- 对于公共工具类和api,可建立私有maven仓库进行统一管理
- 开发完的程序无法通过测试,则需要即刻进行返工重新发起后续流程
4.2 Code Review
- 随着时间推移,组件改造、脚本或api等开发代码量会越来越多,代码review需重视
- 促进团队技术氛围
- 提升代码质量及统一规范
- 避免’当局者迷’和’重复造轮’现象
- cr环节需要耗费一定的时间,故排期时需要包含cr的时间
4.3 测试
- 需输出相应的测试用例,包含但不限于自测、联调、场景验证和读写压测等
- 用例形式不限,可通过列表、123陈述、流程图或思维导图的形式输出
4.4 上线
- 上线流程需遵循【运维规范】
- 涉及组件内容变更(bug修复、参数调整、组件升级和重启等)需提前发出公告
4.4.1 升级公告示例
[喇叭][喇叭]【Doris Be2.0升级通知】 @人员 变更时间:2023-08-08 12:12 至 2023-08-08 13:13 变更类型:BE滚动升级 变更版本:1.2.6-release升级至2.0-roc3 变更内容:仅升级BE 变更原因: 1. 引入workgroup和倒排索引等2.0新特性 2. 使用新优化器提升整体查询效率 3. ...... 测验结果:升级前测试报告 回滚策略:无 预计影响范围:doris上游任务可能会存在闪断
4.4.2 调优公告示例
[喇叭][喇叭]【Dolphinscheduler调优通知】 @人员 变更时间:2023-08-08 13:13 至 2023-08-08 14:14 变更类型:调优重启 变更内容: 1. datasource调整为druid 2. 默认连接大小由50调整为100 3. 新增ldap模块,ds登录改为sso账号密码登录 预计影响范围:所有ds调度任务(重启后自动重试)
4.4.3 重启公告示例
[喇叭][喇叭]【Doris Be紧急重启通知】 @人员 变更时间:2023-08-08 00:00 至 2023-08-08 01:01 变更类型:重启 变更内容:无 变更原因:进程假死 预计影响范围:doris上游任务可能会存在闪断
4.4.4 完成公告示例
【XXX完成通知】 完成时间:2023-08-08 08:08 完成结果:升级完成/调优完成/重启完成 完成说明:顺风顺水顺财神
五、开发规范
5.1 数据库
拒绝select *
所有表都需要添加注释
临时库/表名必须以tmp_工号为前缀
根据需求取舍选择范式或反范式设计
库名、表名和字段名禁止使用保留字段
库名、表名和字段名必须使用小写字母,并采用下划线分割
5.2 JAVA
详细可参考阿里Java编码规范 。
5.2.1 命名
类名使用UpperCamelCase风格,但以下情形例外:DO / BO / DTO / VO / AO / PO等
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
方法名、参数名、成员变量、局部变量都统一使用lowerCamelCase风格,必须遵从驼峰形式
5.2.2 常量
不允许任何魔法值 ( 即未经定义的常量 ) 直接出现在代码中
long 或者 Long 初始赋值时,使用大写的 L ,不能是小写的 l ,小写容易跟数字 1 混淆,造成误解
5.2.3 注释
谨慎注释掉代码;在上方详细说明,而不是简单地注释掉;如果无用,则删除
类、类属性、类方法的注释必须使用 Javadoc 规范,使用/*内容/格式,不得使用 // xxx 方式
5.3 Git策略
- gitlab地址:https://git.xxx.com/
- gitlab账号密码:doris/doris
5.4 Code Review
- 测试前需进行cr,或者同步进行
- 对每次的merge request都进行cr,即mr即cr,避免mr堆积
- cr时可先输出代码的主流程图,事半功倍
- 小需求私下review
- 可2~3人到电脑旁review
- 先讲需求再review
- 核心流程会议review
- 主要review流程,让参会人员都熟悉流程
- 其次再review核心代码以及配置相关的内容
大数据平台开发规范示例至此结束,查阅过程中若遇到问题欢迎留言交流