# 瑞卡森开发规范 **Repository Path**: zhangpengju/user_module ## Basic Information - **Project Name**: 瑞卡森开发规范 - **Description**: 瑞卡森开发规范:是DevOps开发流程的一个标准化规范,统一接口样式、统一数据库设计理念、统一测试规范、统一技术栈,使用Docker对模块进行微服务打包。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-04 - **Last Updated**: 2024-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 瑞卡森微服务开发规范 ## 介绍 **瑞卡森微服务开发规范**:是`DevOps`开发流程的一个标准化规范,统一接口样式、统一数据库设计理念、统一测试规范、统一技术栈,使用Docker对模块进行微服务打包。 ## 需要掌握的知识 > 后端知识点 1. 掌握`Python`语言,掌握面向对象编程,有较好的编程能力; 2. 掌握协程开发以及`Python`的`Sanic`、`flask`框架、`aiomysql`,`aioredis`等协程模块; 3. 熟练掌握`SQL`语言,对`sql优化`有一定程度的了解,掌握链接池、读写分离; 4. 能设计出符合`三范式`设计原则的数据表,对表于表的关系有清楚的认知; 5. 了解`RESTFUL`网络应用程序的设计风格; 6. 掌握`Dockerfile`文件的编写。 > 前端知识点 1. 熟练掌握`HTML`、`CSS`、`JavaScript`、`JQuery`、`Ajax`等前端基础技能; 2. 掌握`VUE`框架; 3. 掌握原生小程序开发。 > 其他技能 1. 熟练使用`Git`进行版本管理与合作开发(必备); 2. 熟练使用`redis`进行性能优化(必备); 3. 熟练使用协程进行数据库接口开,熟练使用Sanic,Flask框架; 4. `Nginx`服务器的配置; 5. 数据库主从配置,读写分离。 6. `Docker-compose`、`K8s` ## 具体规范说明 ### **一、接口样式说明** ```python #正确返回 { 'status': 1, 'errorCode': null, 'errorMsg':null, 'resultBody':'ok' } #错误返回 { 'status': -1, 'errorCode': 198, 'errorMsg':f'请检查request.method:{methods}请重新请求', 'resultBody':null } #参数说明 #status 表示请求是否成功,值为1时表示接口请求成功,值为-1反之。 #errorCode 如果本次请求成功值为null,如果本次请求失败返回错误的编号码。 #errorMsg 如果本次请求成功值为null,如果失败返回具体的错误说明。 #resultBody 如果本次请求成功值为本次请求的数据结果,如果失败返回None ``` **接口样式参数说明列表:** | | status | errorCode | errorMsg | resultBody | | ---- | -------------- | -------------------- | ------------------- | ---------- | | 成功 | 1(整数类型) | null| null| 结果数据 | | 失败 | -1(整数类型) | 错误编号(整数类型) | 具体的错误说明(STR) | null| > 注:此接口样式在实际开发过程深受前端后端开发人员喜爱,对开发工作效率有很大的提高,接口文档的书写详见`接口文档书写实例.md` ### 二、数据库设计理念 1. 一个微服务可对应多张表,一张表只对应一个微服务; 2. 当前微服务用到其他微服务表的数据时,建立视图来调取数据; 3. 每一个接口都要使用`线程池`来与数据库交互; 4. 读写分离。 > 注:前两点可以保证项目可持续扩展迭代,可直接重构高压力微服务不影响整体项目。 ### 三、测试规范 1. 统一使用`unittest`模块进行测试开发; 2. 每一个接口必须提交接口的黑盒测试用例代码到指定的git仓库; 3. 每个接口用例的代码量原则上要求3倍以上于开发代码。 ### 四、前端规范 1. H5开发使用VUE框架; 2. 小程序使用原生开发;