竞争无处不在,青春永不言败!专业撸代码,副业修bug

Talk is cheap , show me the code!



Go 语言编码规范

编码规范

  1. 命名规范

    • 大写开头 public 包外可见, 小写 private 包外不可见

    • 包名默认与文件夹名称一致,小写 不要下划线

    • 文件名 小写 用 下划线 分割 各个单词

    • 结构体命名以 驼峰命名 类似 java class

    • 接口一般以 er 为后缀结尾

    • 变量 urlArray , URLArray 采用驼峰命名, bool ==> isExist , hasConflict, canManage, allowGitHook

    • 常量 APP_KEY, APP_VER

    • 枚举常量以及注释

      type Scheme string
      
      const (
      		HTTP Scheme = "http"
      		HTTPS Scheme = "https"
      )
      
      /*
      	返回: int 类型 返回相加的结果
      	参数: x 加数, y 被加数
      */
      godoc 可以生成文档, python 可以用 sphinx 生成文档
      
      包也应该有一个包注释 , 一个位于 package 自居之前的 块注释 或 行注释
        1. 包的基本简介 (包名, 简介)
        2. 创建者, 格式: 创建人 : rtx 名
        3. 创建时间, 格式 : 创建时间:yyyyMMdd
        
        // util 包, 该包包含了项目共用的一些常量, 封装项目中一些共用函数
        // 创建人: hanru
        // 创建时间: 20190419
       
      结构体采用 下面注释格式
      
      // User, 用户兑现跟, 定义了用户的基础信息
      type User struct{
      	UserName string // 用户名
      	Email string // 邮箱
      }
      
      // 函数方法采用如下注释
      
      // NewAttrModel , 属性数据层操作类的工厂方法
      // 参数:
      //      ctx : 上下文信息
      // 返回值:
      //       属性操作类指针
      func NewAttrModel(ctx *common.Context) *AttrModel{
      
      }
      
    • import 规范

      内置包
      第三方包
      自己写的包
      goimports 会帮忙格式化
      
      import(
      	内置
      	
      	
      	第三方
      	
      	自己写的
      )
      
      用第三方的,或者内置的 采用绝对路径导入
      自己项目内部的 可以采用相对路径
      
      
    • 错误处理

      错误处理的原则就是不能丢弃任何有返回 err 的调用, 不要使用 _ 丢弃, 必须全部处理, 接收到的错误, 要么返回 err, 或者使用 log 记录下来
      尽早 return: 一旦有错误发生, 马上返回
      精良不要使用 panic, 除非你知道你在做什么
      错误描述如果是英文必须小写, 不需要标点结尾
      采用独立的错误流进行处理
      
      if err != nil {
      		// error handling
      		return // or continue , etc
      }else{
      		// normal code
      }
      
posted @ 2021-10-06 21:17  云雾散人  阅读(79)  评论(0编辑  收藏  举报

Your attitude not your aptitude will determine your altitude!

如果有来生,一个人去远行,看不同的风景,感受生命的活力!