从"他急匆匆地跑来了“来谈一下数据表字段命名

这篇具有很好参考价值的文章主要介绍了从"他急匆匆地跑来了“来谈一下数据表字段命名。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

引子

表名、字段名、类名、方法名、属性名、变量名、文件名、配置项...,关于命名,命名规范其中之一是见名知意。在理解需求时,试着抓重点、看本质,据此来命名。切不能强行缩减或随意缩减。许多时候,较长的名称,也比随意简拼的名称易读。如果需要对名称缩减,开发团队应达成一致。如企业id,可以统一enterpriseId,也可以统一使用entId,试想,系统里关于“企业id,同时存在着enterpriseId与entId甚至与merId/merchantId/companyId/qyId/qiyeId,这样的系统会趋向熵增。

下面再罗列一些case:

  • “学生成绩表”可以简称“成绩表”,但不能简称“学生表”。
  • 平台服务商结算单“可以简称”服务商结算单“,但不能简称”平台结算单“。
  • “服务商订单号”,就谈不上简称了。因为在业务上,这是一个完整的词汇。不能简称“订单号”,这会与“系统订单号”存在理解层面的歧义。也不能脑残地简称为“服务商号”,这会与“服务商编号”存在理解层面的歧义。

本文记录开发中的两件事情。

从"他急匆匆地跑来了“来谈一下数据表字段命名

新项目中有个优惠券的功能,优惠券来源于外部的合作通道系统(如微信),我们系统中存储优惠券,会基于使用情况对企业客户进行资金结算。

设计的优惠券表,部分字段见下方:

CREATE TABLE `coupon_batch` (
    `batch_id` bigint(20) DEFAULT NULL COMMENT '批次Id',
    `service_id` bigint(20) NOT NULL COMMENT '服务商id',
    `enterprise_id` bigint(20) DEFAULT NULL COMMENT '企业id',
    `channel_batch_id` char(20) NOT NULL COMMENT '第三方优惠券批次号',
    `batch_name` varchar(100) DEFAULT NULL COMMENT '批次名称',
    `batch_type` varchar(20) DEFAULT NULL COMMENT '批次类型:NORMAL:代金券批次、DISCOUNT_CUT:立减与折扣、OTHER:其他',
    `batch_create_time` datetime DEFAULT NULL COMMENT '第三方优惠券创建时间',
    `begin_time` datetime DEFAULT NULL COMMENT '优惠券开始时间',
    `end_time` datetime DEFAULT NULL COMMENT '优惠券到期时间',
    `status` varchar(32) DEFAULT NULL...
    `reconciliation_status` varchar(20) DEFAULT NULL COMMENT '对账状态-IpsfStateEnum:INIT:未对账、PROCESSING:对账中、SUCCESS:对账完成',
    ...
    `create_time` datetime NOT NULL COMMENT '创建时间',
    `update_time` datetime DEFAULT NULL COMMENT '修改时间',
    `create_by` varchar(32) NOT NULL COMMENT '创建人',
    `update_by` varchar(32) DEFAULT NULL COMMENT '更新人',
    ...

注意其中的 batch_create_time 字段和 create_time 字段,有没有发现 batch_create_time 多少有些不合适呢?

我截图发给开发者小伙。原来,他觉得再加上channel_就显得这个字段太长了(“channel_batch_create_time”的确是够长的),所以就没加。

我举了个栗子:“他急急忙忙的跑来了” 可以简写成“他跑来了”,可以简写成“他来了”。但是,不能简写成“跑来了”、“来了”。

聪明的小伙瞬间明白了。

从"他急匆匆地跑来了“来谈一下数据表字段命名

 文章来源地址https://www.toymoban.com/news/detail-772520.html

“服务商结算单”并不是“服务商结算单” - - 抓住需求重点

我们的服务商系统曾经有一个需求是“服务商结算单”。是基于服务商系统里每天的客户交易数据,以月度为单位,给客户生成结算文件。

下面是结算表的表结构。这个表的注释,你觉得应该是什么?

我们的开发者给的表注释“服务商结算单”。这显然不妥。应该叫“客户结算单”。试想,如果你叫“服务商结算单”的话,那么,在服务商系统里给渠道商结算的表,或者是给自由职业者结算的表,或者是给通道结算的表,表注释应该是什么呢?

就是说,我们应该抓重点。服务商给客户结算的表,可以描述为“客户结算表”,但一定不可以描述为“服务商结算表”。

COLUMN_NAME DATA_TYPE DATA_LENGTH NULLABLE COMMENTS
ID NUMBER 22 N 主键
MER_ID VARCHAR2 20 Y 商户ID
MER_NAME VARCHAR2 64 Y 商户名称(冗余)
TOTAL_MONTH VARCHAR2 20 Y 统计月份
TOTAL_AMT NUMBER 22 Y 费用总额
STATUS VARCHAR2 20 Y 状态
CREATE_TIME TIMESTAMP(6) 11 Y 创建时间
COMPLETE_TIME TIMESTAMP(6) 11 Y 完成时间
FILE_URL VARCHAR2 512 Y 结算单文件路径

 

The End.

到了这里,关于从"他急匆匆地跑来了“来谈一下数据表字段命名的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【小程序】uniapp发行微信小程序上传失败Error: Error: {"errCode":-10008,"errMsg":"invalid ip...

    uniapp发行微信小程序上传失败Error: Error: {\\\"errCode\\\":-10008,\\\"errMsg\\\":\\\"invalid ip: 遇到这个错误,是因为我们使用uniapp框架单独发行小程序,使用的是:miniprogram-ci 所以需要配置IP白名单,如果嫌麻烦,可以关闭掉

    2024年02月12日
    浏览(40)
  • RabbitMQ启动失败 ERROR: node with name "rabbit" already running on "xxx"

    首先,你得先确认的你得Erlang的版本和RabbitMQ的版本是否能相互兼容,如果不能,请先下载对应的Erlang版本或者RabbitMQ版本。 1. 在Java中使用了RabbitMQ发现不停的尝试连接,却连不上的问题 先在cmd下输入erl,看一下Erlang的环境变量配没有 没有上图这个结果的,先配置对应的Er

    2024年02月12日
    浏览(52)
  • 发起合约转账时候提示错误"invalid BigNumber value (argument=\"value\", value=\"1000000000000000000\", code=INVALI...

    错误提示: 错误提示1 发起合约转账时候提示错误\\\"invalid BigNumber value (argument=\\\"value\\\", value=\\\"1000000000000000000\\\", code=INVALID_ARGUMENT, version=bignumber/5.5.0)\\\" 错误提示2 invalid BigNumber string (argument=\\\"value\\\", value=\\\"23222220.111119\\\", code=INVALID_ARGUMENT, version=bignumber/5.3.0 错误原因 该类错误一般是由常

    2024年02月16日
    浏览(43)
  • Deep "Hello world!"

    目录 1. #include stdio.h 2.int 整形数据类型 3.main 函数 4.printf 函数 5.return 函数 6.”{}”与“;” “Hellow world!\\\"是初学者的第一份代码,可以说所学万物代码之基础。下面看一下代码是如何实现的: 代码虽然简洁,但是包含了许多C语言的知识,我们从上往下看有:1.#include stdiio.h头

    2024年04月22日
    浏览(26)
  • static关键字---"工具类"

     

    2024年03月18日
    浏览(43)
  • go语言环境要这样搭建才"省钱"

    目录 本篇概要 集成开发环境工具(ide) Goland或IntelliJ IDEA Visual Studio Code 其他集成开发环境 Visual Studio Code的go语言开发环境搭建 Visual Studio Code安装 go编译环境安装 配置go环境变量 安装go语言插件 使用golang编程 本篇小结 下篇预告 搭建go语言环境,除了要搭建go语言的编译环境

    2024年02月13日
    浏览(30)
  • 盘点C#中感叹号"!"的作用

    在C#编程语言中,感叹号\\\"!\\\"是一个常见的符号,具有多种用途和作用。小编在本文将带大家探讨感叹号在C#中的不同用法,帮助程序员更好地理解和运用这个小而重要的符号。 1、逻辑非: 感叹号用作逻辑非运算符,可以对布尔值进行取反操作。通过在布尔表达式前面添加感叹

    2024年02月11日
    浏览(44)
  • 明修"栈"道——越过Android启动栈陷阱

    作者:vivo 互联网大前端团队- Zhao Kaiping 本文从一例业务中遇到的问题出发,以FLAG_ACTIVITY_NEW_TASK这一flag作为切入点,带大家探究Activity启动前的一项重要的工作——栈校验。 文中列举一系列业务中可能遇到的异常状况,详细描述了使用FLAG_ACTIVITY_NEW_TASK时可能遇到的“坑”,

    2023年04月18日
    浏览(33)
  • "本地连接"有发送无接收数据的解决方法

    1.禁用网卡,然后重新启用,重新启动电脑、插拔网线,看情况是否改善。(备注:用这个办法我也解决了好多这类问题,简单不费时间。) 2.卸载网卡驱动,重新安装网卡驱动,然后分配IP地址。(备注:我曾经给别的企业用这个方法后,也没有解决问题,只好重新安装系统

    2024年02月06日
    浏览(41)
  • PerfView 洞察C#托管堆内存 "黑洞现象"

    首先声明的是这个 黑洞 是我定义的术语,它是用来表示 内存吞噬 的一种现象,何为 内存吞噬 ,我们来看一张图。 从上面的 卦象图 来看,GCHeap 的 Allocated=852M 和 Committed=16.6G ,它们的差值就是 分配缓冲区=16G ,缓冲区的好处就是用空间换时间,弊端就是会实实在在的侵占内

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包