Skip to content

go style guide

henry.huang edited this page Jun 22, 2020 · 1 revision

go 编程规范

std:

业务规范:

业务状态码/枚举值, 禁用0值.

  • 禁止使用 0, 作为业务状态码值/类型编号.
    • 业务状态码: 推荐 [正常值>=1, 异常值<=-1]
    • 枚举类型值: 推荐 >1.
    • 因为 go 的 struct 数值字段, 不赋值时, 值为0. 避免 type validate 等地方出问题.


MySQL 表设计规范:

  • 字段命名: 清晰准确, 避免无意义的缩写.
  • 表字段定义: 要加 comment 注释.
  • 不允许 NULL 字段, 全部赋零值.
  • 统一编码: utf8mb4, 字符集:
  • 全表软删除: deleted_at.
  • 时间类型: 统一 timestamp 类型, 禁止使用 datetime, 避免时区问题.
Clone this wiki locally