不纠结规范

wanxger2 分钟阅读

时间篇

命名

  • 需要存储日期的字段或键名命名以 date 结尾;
  • 需要存储将来时间的字段或键名命名以 time 结尾;
  • 需要存储过去时间的字段或键名命名以 at 结尾。

类型

数据库

  • 数据库日期存字符串类型,如:20080808,需要考虑服务器时区;
  • 数据库时间存 Data 类型。

其他

在需要传递时间时,如提供接口、缓存时间,用 unix 时间戳(精确到秒),大部分操作不要精确到毫秒。

函数篇

在定义函数时,如果参数为已知数组中的元素 ,则不设默认值,且参数不可省略,如定义类型时,数据库也是如此。

在定义 GraphQL 时,如果参数为已知数组中的元素 ,如在不同场景下,参数不同,则不设默认值,且参数不可省略,如定义类型时。

异步函数

但凡需要执行的异步方法,都在其前加关键字 await ,不应其在异步方法的末尾。

Sequelize 篇

每个主键都必须设置非空属性。

数据库创建和迁移操作应在开发环境完成,部署到生产时则不应对数据库结构进行改动。

常量

常量名字母应全大写,且用下划线连接。

枚举类型

枚举类型内元素字母应全大写,且用下划线连接。

Ant Design 篇

Table 组件中 columns 属性中元素的 dataIndex 的指可以相同,但 key 的值不可以。如 dataIndex 的值为主键名,则可以通过 render 方法内的第一个参数 text ,直接取得主键值。

比较篇

两变量比较,变量值确定较早的一方在右侧。就如同变量被赋值时,值在右侧。