不纠结规范
wanxger2 分钟阅读
时间篇
命名
- 需要存储日期的字段或键名命名以 date 结尾;
- 需要存储将来时间的字段或键名命名以 time 结尾;
- 需要存储过去时间的字段或键名命名以 at 结尾。
类型
数据库
- 数据库日期存字符串类型,如:20080808,需要考虑服务器时区;
- 数据库时间存 Data 类型。
其他
在需要传递时间时,如提供接口、缓存时间,用 unix 时间戳(精确到秒),大部分操作不要精确到毫秒。
函数篇
在定义函数时,如果参数为已知数组中的元素 ,则不设默认值,且参数不可省略,如定义类型时,数据库也是如此。
在定义 GraphQL 时,如果参数为已知数组中的元素 ,如在不同场景下,参数不同,则不设默认值,且参数不可省略,如定义类型时。
异步函数
但凡需要执行的异步方法,都在其前加关键字 await ,不应其在异步方法的末尾。
Sequelize 篇
每个主键都必须设置非空属性。
数据库创建和迁移操作应在开发环境完成,部署到生产时则不应对数据库结构进行改动。
常量
常量名字母应全大写,且用下划线连接。
枚举类型
枚举类型内元素字母应全大写,且用下划线连接。
Ant Design 篇
Table 组件中 columns 属性中元素的 dataIndex 的指可以相同,但 key 的值不可以。如 dataIndex 的值为主键名,则可以通过 render 方法内的第一个参数 text ,直接取得主键值。
比较篇
两变量比较,变量值确定较早的一方在右侧。就如同变量被赋值时,值在右侧。