写在前面
在启动一个项目之前,应该做什么事情,应该考虑什么问题,应该怎么抽象模型等等等。
开始表演
总则
在没有特殊情况下,全借鉴大厂相关方案
明细
- 核心框架调研,orm(mybatis),mq(rocketMq,kafka),数据库(mysql),缓存(redis),定时器(xxl-job),配置中心(apollo)。
- checkStyle & codeStyle (google的)(代码行数不要超过多少,比如50;代码长度不要超过多少,比如120/150)
- 代码静态检测,阿里巴巴规范,sonar检测等
- 系统架构图,模块划分(领域划分)
- 公共功能:统一日志处理,统一监控,统一配置中心,公共定时器,session获取,导入,导出工具
- 文档记录形式,文档记录约定/规定,包括不限于新人指导、设计文档、RCA、知识分享
- 接口多版本支持思考
- 二维码形式(先调研,尽量简单易扩展)
- 用户系统统一,避免多套用户系统,如果多个用户之间信息共享会引发更多的问题
- 数据字典建立,尽量不要一个名词出现多种定义/翻译
- 设计文档的基本要求(流程图,表结构,性能考虑,后期扩展等)
- 代码规范,日志规范,命名规范,数据库规范,新服务jvm内存配置方法
- git 分支管理
- 新工程模板
- 单元测试,集成测试
- 持续集成(TODO)
- devOps支持