【平台开发】技术整合思考(六)开发规范(持续更新)

简介: 【平台开发】技术整合思考(六)开发规范(持续更新)

这个开发规范,完全出于七镜平时的工作经验,方便七镜平台发使用,可能与业内广泛流传的开发规范有悖!



一、服务端


A、命名规范


  • 加s表示单词复数,不遵循英语语法规范,诸如不规则变换的复数表示形式统统不用考虑。
  • [2023-09-03更新]函数的入参类型函数名+Req;函数的入参命名为 interface+函数名+Req;函数的出参命名为 函数名+Resp


type GenerateTokenReq struct {
    TokenType      string `json:"token_type"`      // 令牌类型:varchar(10)  枚举
    FromId         string `json:"from_id"`         // 颁发者:varchar(36)   uuid
    Topic          string `json:"topic"`           // 主题,varchar(10)    枚举
    ToId           string `json:"to_id"`           // 受众:varchar(36)    uuid
    DurationAccess string `json:"duration_access"` //过期时间:varchar(10)
}
type GenerateTokenResp struct {
    Access  string    `json:"access"`
    Expires time.Time `json:"expires"`
}
func GenerateToken(interfaceGenerateTokenReq interface{}) (generateTokenResp GenerateTokenResp, err error) {
    /*
        令牌类型:varchar(10)    枚举
          颁发者:varchar(36)   uuid
          主题,varchar(10)    枚举
          受众:varchar(36)    uuid
          颁发时间:varchar(10)
          过期时间:varchar(10)
    */
    var generateTokenReq GenerateTokenReq
    switch interfaceGenerateTokenReq.(type) {
    case GenerateTokenReq:
        generateTokenReq = interfaceGenerateTokenReq.(GenerateTokenReq)
    default:
        return GenerateTokenResp{}, errors.New("params  type error: type  of params must be GenerateTokenReq")
    }
    ......
}


3.[2023-09-26更新]调用第三方sdk时,函数名的第一个单词应当为第三方sdk的标识(以调用腾讯云的短信api为例):


func TencentSmsSendMessage(interfaceTencentSmsSendMessageReq interface{}) (tencentSmsSendMessageResp TencentSmsSendMessageResp, err error) {
    var tencentSmsSendMessage TencentSmsSendMessageReq
    switch interfaceTencentSmsSendMessageReq.(type) {
    case TencentSmsSendMessageReq:
        tencentSmsSendMessage = interfaceTencentSmsSendMessageReq.(TencentSmsSendMessageReq)
    default:
        return TencentSmsSendMessageResp{}, errors.New("params type error: type of params must be TencentSmsSendMessageReq")
    }
    log.Println(tencentSmsSendMessage)
    return TencentSmsSendMessageResp{}, nil
}




B、接口规范


  1. 接口返回结构体中,第1级包含codecontentcountmsg4个字段。其中code表示状态码,content表示实际返回的数据,必须是以序列(数组)形式返回,count表示实际返回的数据的条数,msg表示服务端消息或描述。第2级msg,包含成功消息success和失败消息fail



type ResponseCommon struct {
    //common response body struct
    Code    int         `json:"code"`
    Content interface{} `json:"content"`
    Count   int64       `json:"count"`
    Msg     Message     `json:"msg"`
}
type Message struct {
    Success string `json:"success"`
    Fail    string `json:"fail"`
}


2.查询接口不区分详情数据和列表数据,即实际返回数据永远是序列(数组),详情数据就是数组长度为1的特殊情况。





二、客户端


  1. 导入图片时,图片变量命名规范为【图片格式_实际意义】,比如:


import PNG_DEFAULT from "./image/default.png"
import JPG_WX from './image/wx.jpg'


2.[2023-08-07更新]每一个实体对应两种展示页面,其一是详情页,其二是列表页(一般列表页作为详情页的入口)。实体详情页面命名为【实体】,实体列表页面命名为【实体-list】比如:

// 产品下载详情页
production-download 
// 新闻详情页
news
// 产品下载列表页
production-download-list
// 新闻列表页
news-list


目录
相关文章
|
8月前
|
新零售 供应链 数据挖掘
推三返一系统开发|成熟案例|源码部署
“新零售”的商业生态构建将涵盖网上页面
|
7月前
|
Java Serverless 开发工具
技术经验分享:Bmob基础
技术经验分享:Bmob基础
49 1
|
6月前
|
设计模式 Java 测试技术
Java后端开发的最佳工程实践与规范
Java后端开发的最佳工程实践与规范
|
8月前
|
数据安全/隐私保护 开发者
效率工具RunFlow完全手册之开发者篇
RunFlow开发者手册涵盖了执行命令、计算器、日期计算、随机生成器和开发者工具集等实用功能。在命令模式中,支持历史记录,便于快速执行命令。计算器能进行进制转换和位运算。日期计算允许时间戳转换、偏移及相差天数计算。随机生成器可产生字母和数字序列。开发者工具集包括代码风格转换、颜色解析、加密解密等多种工具。此外,RunFlow还支持插件开发。
58 2
|
8月前
|
SQL Java API
《Java开发手册灵魂13问》正式上线,带你剖析阿里巴巴的开发细节
一线大厂怎么用Java?看阿里技术专家给你分析!《〈Java开发手册(泰山版)〉灵魂13问》电子书正式上线带你剖析阿里巴巴一线团队开发思维。
|
Cloud Native 安全 测试技术
开源项目的最佳实践
开源项目的最佳实践
116 0
|
移动开发 缓存 JavaScript
「 前端开发规范 」10人小团队前端开发规范参考这篇就够了!
引自《阿里规约》的开头片段: ----现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶。对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,降低沟通成本。代码的字里行间流淌的是软件系统的血液,质量的提升是尽可能少踩坑,杜绝踩重复的坑,切实提升系统稳定性,码出质量。
20711 4
「 前端开发规范 」10人小团队前端开发规范参考这篇就够了!
|
数据可视化 算法 前端开发
一文吃透低代码平台源代码交付的重要性(避坑指南)
一文吃透低代码平台源代码交付的重要性(避坑指南)
413 0
佛萨奇系统丨MetaForce2.0佛萨奇开发技术介绍(源码搭建)原力元宇宙佛萨奇成熟代码开发
佛萨奇系统丨MetaForce2.0佛萨奇开发技术介绍(源码搭建)原力元宇宙佛萨奇成熟代码开发
156 0
|
供应链 安全 IDE
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码
527 0
墨菲安全正式发布 murphysec 开源项目!让开发者更安全的使用开源代码

热门文章

最新文章