1
boris1993 2019-03-04 11:02:24 +08:00 via Android
或者 ta 觉得切输入法很爽
|
2
tabris17 2019-03-04 11:03:32 +08:00
人家是考虑到 api 使用者的能力水平,另一方面可以省去写文档了
|
3
kernel 2019-03-04 11:05:42 +08:00 via Android
不发个 api 文档地址吗
|
4
si 2019-03-04 11:08:34 +08:00
json 用中文做 key 有什么,json 的 key 本来就是字符串。还有人用数字和符号做 key。
|
5
HypoChen 2019-03-04 11:10:10 +08:00 6
这种呢?
``` { "is_succeed":"✅" } ``` |
6
henryhu OP api 截图在这里
|
7
0x11901 2019-03-04 11:26:52 +08:00
为什么不能用中文当 key ?我还用 emoji 做变量名称呢?思维逐渐江化。
|
8
Flasky 2019-03-04 11:37:09 +08:00 via Android
中文英文在代码里都是字符串,编程难道就只能用英文吗?会不会有点装逼的感觉?
|
9
aver4vex 2019-03-04 11:40:05 +08:00
起变量名真特么头大。
|
10
bestie 2019-03-04 11:45:44 +08:00
这个变量名确实不太好起,可能在特定的场景使用中文 key 更加合适
|
11
coderluan 2019-03-04 11:45:48 +08:00 1
明知同事英语水平不好,还拒绝使用中文注释,这种不叫专业,叫装逼。此事同理。
|
12
Sapp 2019-03-04 11:55:27 +08:00 3
@coderluan 这种情况是管理人员和架构的锅,一开始没带好节奏,我这里所有 api 接口都要求注释,注释必须中文,精确到每个 key 的详细解释以及 value 的类型和值的范围,之后直接自动读注释生成文档,每个根目录下都有对应的开发流程图和详细项目文档,包括涉及到的技术和原型,虽然初期花点时间,但是后期除非有 bug 否则根本不需要对接,是个人就看明白了,没按要求的代码都提不上去。
|
13
henryhu OP 有同学认为使用中文作为 key 没什么问题,这个问题可以讨论哈。具体到这个 api,有点怪异啊,code, msg, result 这些不使用中文也罢,问题是“法定代表人”下面又来一个 words 是啥意思?难道不应该是"法定代表人.文字"。words 其实是完全多余的。哪个同学设计的这个 api,请出来走两步,我保证......
|
14
reus 2019-03-04 12:10:16 +08:00 1
这个场景,中文 key 没问题
words 也没问题,给以后加字段留下空间。你还是太嫩。 总之没有问题。 |
15
LukeChien 2019-03-04 12:39:07 +08:00 via Android
可能因为 json 不支持注释,为了提高可读性
|
17
SuperMild 2019-03-04 13:02:37 +08:00 1
某些情况下用中文其实很好, 特别清晰.
上面有人说换输入法麻烦, 但是像这个例子的具体情况, 你用了英文做 key, 搞不好还要想办法通过注释或者文档用中文来说明, 到时还是要用中文, 岂不是更麻烦. |
18
belin520 2019-03-04 13:07:07 +08:00
场景:"识别成功"
key 是识别的 key (法定代表人:xxx ) 这个场景我觉得对呀,不然还得 OCR 之后翻译成英文吗? |
19
lynskylate 2019-03-04 13:15:04 +08:00 via Android
看场景。中文可以省去注释和想变量名,尤其在同事水平不高的情况下(▰˘◡˘▰)。但是大多情况下,message,status 这种大家都能理解,你用中文不是自找不痛快?我不用中文的原因最主要是不喜欢切输入法
|
20
gps949 2019-03-04 13:53:35 +08:00
首先,我认同为了同事、合作者等方便,可以用中文,或者应当注释用中文写。
但另一方面,我想说,已经 9102 年了,编程语言千万条,你学了 c 学了 c#学了 java 学了 js 学了 php 学了 python 学了 golang 学了……不考虑简单学一下英语吗?毕竟在输入法切换、国际通用化、字符集环境等问题上省心很多啊 |
21
irobbin 2019-03-04 14:15:58 +08:00
竟然有人说没问题。。万一有人不认识中文咋搞?
|
22
henryhu OP 是的,目前是中国人做开发,ok,以后要是让一个不懂中文的老外接手代码,估计要懵逼。
|
23
exceloo 2019-03-04 14:21:41 +08:00
@henryhu 你说多个 word 没意思,其实对方应该是想到了以后的扩展。以后想要多加个字段也很容易,而且也可以兼容老页面。
|
24
wengjin456123 2019-03-04 14:37:26 +08:00 via Android
这有啥的,key 用中文我觉得没问题,看场景
|
25
qq292382270 2019-03-04 15:26:01 +08:00
跟我对接的一个后端,返回的数据喜欢用英文单词来定义 key 或者变量名之类,但是又很不标准..
|
26
reus 2019-03-04 15:34:00 +08:00 1
明显是营业执照的文字识别接口,如果一个外国人连汉字都不懂,他做啥文字识别?这里用中文是正确的。这些汉字本来就是营业执照上面的文字,识别出来的也是中文字,你非要用英文是什么意思?
|
27
henryhu OP 就这个场景来说,仍然有商榷的地方。key 直接使用识别出来的文本,其实没有考虑到文本变动的情况。
比如,以后如果新的证件修改了,把“住所”改成“营业地址”,那就得新加一个“营业地址”字段,并且,api 用户要自己判断,“住所”和“营业地址”是同一个信息。api 如果有预见,无论新旧证件,都用 address 表示营业地址,无需修改 api,方便用户使用。 当然,也可以不修改 api,仍然使用中文 key,新的“营业地址”信息放到“住所”里,这个变化对于新用户来说有点蒙圈。 |
28
MineDog 2019-03-04 16:00:53 +08:00 via Android
会有编码方式不一致导致的乱码的风险
|
29
maichael 2019-03-04 16:02:52 +08:00
因为这里的 key 本来就是中文的,这个“中文”也是识别出来的呀。
|
30
henryhu OP 如何写成这样,是不是感觉自然一点,也不需要冗余的 words:
``` result: { address: { label: '住所', content: '***********' }, ... ``` |
31
0987363 2019-03-04 16:20:07 +08:00 via Android
扯淡吧,服务器返回的 gbk 编码,你客户端是 utf8,怎么破,还有繁体的
|
33
Tokin 2019-03-04 17:26:16 +08:00
|
34
Tokin 2019-03-04 17:27:26 +08:00
|
38
johnnyNg 2019-03-04 19:44:53 +08:00
写成这样比较好吧,
[ { "label": "法定代表人", "value": "王某" }, { "label": "成立日期", "value": "2019-02-11" } ] |
39
AlphaTr 2019-03-04 19:45:11 +08:00
说 JSON 用 GBK 的。。。你们用的真是 JSON 么
|
40
ffeii 2019-03-04 19:47:58 +08:00
反正都要遍历的,jsonArray 和 jsonObject 不都一样吗,用 jsonObject 还能省字节
|
41
Tokin 2019-03-04 20:17:49 +08:00
|
42
henryhu OP @reus 我还真去查了一下公司法,它的规定如下:
"公司营业执照应当载明公司的名称、住所、注册资本、经营范围、法定代表人姓名等事项。" 这里没有规定营业执照上只能是这几个事项,比如还有一个重要的“统一社会信用代码“没在公司法上规定,而且,三证合一也改过营业执照上的登记事项。 |
43
reus 2019-03-05 00:29:54 +08:00
@henryhu 那就更应该保持原样,不要自作聪明。不要假定 "address" 就一定对应 "住所"。现在有种虚拟注册地址,用来注册的,实际经营地址又是另一个。如果以后法定需要将实际经营地址也写上去,那 "address" 就有两个了,你又要如何表示?数据原本是怎样就怎样,你是处理不了的,不要帮用户做多余的事情。营业执照本身就是一系列键值对,键是怎样就怎样,你只是一个识别接口,你不要假定调用接口的人要怎样使用这些数据,这不是一个文字识别接口应该做的事情。
|
44
jokerlee 2019-03-05 00:37:20 +08:00 via Android
这个 api 设计不太好,还是用 array 好一些,每个字段之少有一个 key 描述,而且没法在兼容现有格式的前提下加新的顶级字段
|
45
henryhu OP 意见仍然分歧,我还是认为接口是服务。营业执照写的是一些企业信息,在计算机中表示为键值对,并不能就认定营业执照本身是按键值对的规则来设计的。如果用户只需要识别图片中的键值对,不要做其他动作,那 words 的预留就没有必要了。意见保留哈。
|
46
swulling 2019-03-05 08:40:07 +08:00 via iPhone
38 正解
|
47
gzf6 2019-03-05 08:46:49 +08:00 via iPhone
淘宝的某些数据也是如此
|
49
hoyixi 2019-03-05 10:10:56 +08:00
别忘了,API 是给你用的,到时候真有问题,他们改 API 分分钟,麻烦的又不是他们自己。
很多平台的意识里,开发者就不算客户吗?不思量下客户体验吗? |
50
xuanwu 2019-07-06 04:06:57 +08:00
请问是哪个 API ?
|