今天对接的一个公司 看到接口文档我惊了

2021-03-15 11:01:00 +08:00
 yasumoto
居然还有这种操作 备注字段 12345678910 (笑 cry )

https://i.loli.net/2021/03/15/dnpyGJEbXekCr51.png
24162 次点击
所在节点    程序员
138 条回复
ruoxie
2021-03-15 19:55:54 +08:00
前两周刚遇到过,备注 1,备注 2,备注 3 。。。没人能确定有多少,本来是直接存 json 字符串,然后产品要求能精确导出备注几
tesguest123
2021-03-15 19:57:12 +08:00
题主一看就是年轻的程序员,一般我都是预留 5 个以上的无用字段,数据表具有扩展性。
tesguest123
2021-03-15 19:57:42 +08:00
@tesguest123 要不然太累了
aQI9F2Sb927YPj7I
2021-03-15 20:02:10 +08:00
如果你看到了这个接口文档后,选择了拒绝对接,那么这个帖子还有一些营养。
lj2016
2021-03-15 20:06:38 +08:00
这种太正常了,后续有增加会很方便
gam2046
2021-03-15 20:07:22 +08:00
个人觉得这个设计没什么问题,基本上预留一些升级的空间。上线一段时间后,新增需求,改数据库是非常要命的一件事。而且正规的流程,开发人员很可能没有权限操作数据库,还需要 DBA 的配合(甚至行政手段的接入),生产环境飞针走线,太可怕了。

至于可读性差,确实没什么办法,预留接口,天知道到时候甲方爸爸会提出什么需求来。全靠文档支撑。
vinsony
2021-03-15 20:20:58 +08:00
你太年轻了。我有 str_1 2 3 4 5 、int_1 2 3 4 5........
levelworm
2021-03-15 20:34:17 +08:00
给你看个才在 reddit 上看到的,和你是反的。人家是 30 个字段,29 个是反的,还有 1 个把其他 29 个字段的内容全囊括进去了。。。

Every database entry consisted of:

Column 1: $itemID, $stuff, $morestuff, $evenmorestuff ...

Columns 2-30: NULL
aaronlam
2021-03-15 21:12:50 +08:00
之前呆过的国企内开发的系统也是预留了很多这些弹性域
xwcs
2021-03-15 21:43:31 +08:00
@young1lin 医疗软件这块太多这种字段了
tairan2006
2021-03-15 22:49:09 +08:00
你们吵个球…根据《阿里巴巴 Java 编程手册》里面数据库部分,明确说明:

禁止在表中建立预留字段
预留字段的命名很难做到见名识义
预留字段无法确认存储的数据类型,所以无法选择合适的类型
对预留字段类型的修改,会对表进行锁定,修改字段类型的成本往往大于增加

MySQL5.6 之后加列就可以有条件的避免锁了,8.0 之后就更高效了…所以楼上嘲笑楼主年轻的,做的业务比阿里流量还大?
MaiKuraki
2021-03-15 22:57:57 +08:00
这个图床太恶心了,不能直接显示图片,还要点击才能显示
boshok
2021-03-15 23:29:04 +08:00
@tairan2006 什么都跟阿里比?针对不同业务采取不同方式有问题吗?谁都是互联网企业?也都是用 MYSQL ?
iamv2er
2021-03-16 00:35:09 +08:00
刚好碰到这个场景 预留后面直接改名快一点 要不然数据库数据很多 会影响生产环境
msg7086
2021-03-16 01:02:44 +08:00
@tairan2006 要真能做到比阿里流量还大,体量这么大了就可以自己研发数据库系统了,还需要预留字段?
阿里背后几十万台服务器的算力,你做外包给甲方也整上几千台服务器吗。
Iamnotfish
2021-03-16 01:33:16 +08:00
那你们是没见过传统行业开发的需求,我见过一个 POS 系统,字段全是 F01,F02,F03 这种,一直到 F9999 。连字段的 WIKI 都没有,全靠猜。
mikael
2021-03-16 07:18:09 +08:00
可以看出当初设计这表的人怀着远大的目标,已经知道这个表以后肯定还要承受更多的字段
diyisoft
2021-03-16 07:54:13 +08:00
“少见多怪”(褒义),哈哈哈
有些场景是需要这样的。
uilvn
2021-03-16 08:17:52 +08:00
salesforce 底层表都是这么设计的。所有的表字段都是占位符,实际内容由 meta 表解释。
bwd1991
2021-03-16 08:33:47 +08:00
@jasonkayzk 加上 where 条件还真是内联查询

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/761703

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX