• 后端开发工程师开发规范


    1 开发规范

    1.1 开发流程

    • 明确:

      • 为什么要做这个东西,它的价值在哪里(意义)

      • 这个东西要实现什么功能,它面向的用户是谁(目标用户群体)

      • 它的功能后续可以有什么发展(长远性,功能扩展)

      • 前期需求的澄清和沟通比后期的开发还重要,你做的是不是对方想要的,同时最好能跟一手需求方有直接沟通

      • 测试,防止测试不完全,以使用人的角度进行思考,以一手需求人的数据进行操作,实现100%的模拟

    • 与需求方澄清需求

    • 确定架构

    • 设计文档

      • 核心流程、生命状态流转

      • 接口设计,与前端确认

      • 数据库设计(主键、索引、字段类型大小,必带字段 creatBy、creatTime、modifyBy、modifyTime、deleted)

    • 开发:

      • 本机创建mysql数据库表,确保字段无误

      • 根据数据库表创建entity类,包括entity的struct、tableName

      • 根据entity,创建dto类,包括dto的struct、dto转entity的方法、Req,对应前端接req——后端dto——entity过程

      • 确定前端调用url,写对应router

      • 确定接口,写controller接口,确定参数和返回内容

      • 生成swagger文档,与前端对接,保证前端可以按照swagger文档开始开发

      • 开始controller——app service——service——repo层的实际逻辑开发

    1.2 命名规范

    方法名:

    • PageListXxxx

    • ListXxxx / ListXxxxByXxx

    • AddXxxx

    • DeleteXxxx

    • GetXxxx

    • UpdateXxx

    枚举和常量:

    • 全局常量和枚举,放在 infra->constant/enums下面

    • 具体域内的常量和枚举放到domain->constant/enums下面

    1.3 开发技巧

    1、会变化的配置,尽量写在配置文件中,防止每次发生变更要重新发版,增加便利性

    2、什么时候需要异步处理,批量上传的时候考虑,此时网络会有实现限制

    3、对唯一性有要求的参数进行设置时考虑多人操作的情况,是否会导致重复

    4、容错处理考虑,参数校验,你永远不知道别人会出现什么骚操作。这就需要在实现基本功能的同时去扩展思考会出现哪些问题

    5、不同逻辑代码块之间用空行隔开

    6、数据delete字段,不做物理删除,所以相应的查询时也需要带上条件 delete=0

    1.4 如何熟练运用合适的API

    接口文档API + demo例子

    当遇到相关的需求,但是不知道有哪个对应的方法,并且google baidu 搜不到的情况,建议直接查看接口API文档,没准就能找到你不知道但刚好能满足需求的方法,毕竟代码的核心不是重复造轮子,当你觉得繁琐时,就是优化的时机,并且这个时机很大可能别人已经优化了

  • 相关阅读:
    26. 图论 - 树
    [13] CUDA_Opencv联合编译过程
    Web APIs 学习归纳1---Web API概述&简单的元素获取
    【Python 实战基础】Pandas如何获取某个数据列最大和最小的5个数
    深度学习基础课:课程介绍
    【MySQL】CRUD (增删改查) 基础
    ClickPaaS马俊:模型驱动的低代码平台实践
    JS判断类型(typeof+constructor+toString)
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[14]以太坊-状态树2
    刷题记录:洛谷P4147玉蟾宫
  • 原文地址:https://blog.csdn.net/qq_42647903/article/details/127573881