问一下后端的同学为何你们传参都喜欢 int 1234

2020-05-15 11:29:37 +08:00
 en20

比如接口要传一个请求来源,后端让我传的参是 1 拼多多, 2 淘宝, 3 京东 。。。

为什么不能直接给一个字符串 '淘宝',反正都是要 switch case ,这样也很直观.接手别人的项目里一堆 1234 我都不知道传的是什么,也不写个 map,我很难受

18054 次点击
所在节点    程序员
138 条回复
cyspy
2020-05-15 16:21:20 +08:00
1 => taobao_deprecated_1; 5 => taobao
OR
'taobao' 'taobao_new‘ ’taobao_really_new' 'taobao_really_realy_new'
Cowhitewhite
2020-05-15 16:24:43 +08:00
难道大家不都是这样,哈哈。。。
libook
2020-05-15 16:25:22 +08:00
看技术栈和团队情况吧,我们用的技术栈都是对 Unicode 兼容性特别好的,以高可读性作为首要要求,所以会直接传全文。
Arthit
2020-05-15 16:26:25 +08:00
那换成 4321 可以吗
LYEHIZRF
2020-05-15 16:31:48 +08:00
用数据字典 可扩展性更强
imlinhanchao
2020-05-15 16:31:48 +08:00
@namelosw 那是爲了做值并列,比如同時具備 1 和 2 。那麽就是 1 | 2 = 3 。 檢查的時候就是 3 & 1 = 1,3 & 4 = 0 。這樣就知道有 1 沒 4 。
sanqian
2020-05-15 16:32:18 +08:00
拼多多改成了拼夕夕 你要全改一边?
vincentxue
2020-05-15 16:33:18 +08:00
经典问题了
ming7435
2020-05-15 16:34:31 +08:00
这也能喷?
hu8245
2020-05-15 16:41:44 +08:00
宏定义吧,高效啊,
XGF
2020-05-15 16:43:28 +08:00
其实传什么都行,反正要约定好就行
misaka19000
2020-05-15 16:45:48 +08:00
我投语义化一票
atwoodSoInterest
2020-05-15 16:47:39 +08:00
约定和文档是会随着时间腐烂的,最好的办法就是明确意义,也就是使用 string 。代码即注释是质量的底线,
atwoodSoInterest
2020-05-15 16:49:10 +08:00
这个是什么设定,enter 一下就提交了 0.0,哎
enter 了也没有提交,难道是 shift + enter 直接提交
atwoodSoInterest
2020-05-15 16:49:37 +08:00
破案了,Ctrl enter
dk7952638
2020-05-15 17:04:00 +08:00
其实只要不是中文编码,都可以,中文编码的坑太多了
predator
2020-05-15 17:04:11 +08:00
如果后端是我……前面传“淘宝|京东|拼多多”或者“1|2|3|4”我都接

首先接口文档里面明确,传字符串和传数据字典指针都可以
其次错误提示里面要清楚的说明“您传递的‘拼夕夕’这个参数不在合法的输入值范围内”

至于数据库如何如何,查询如何如何,今后如何如何,这本就不是去和前端争辩的事
Tdy95
2020-05-15 17:36:59 +08:00
@Wincer 那么,要如何反驳这个观点呢?

前端页面都建立映射了,又不是动态字典,真要有心爬取,根本不能拦住。况且平白损失可读性,加大了调试、排查难度?

这样能说服吗
jaylee4869
2020-05-15 17:51:41 +08:00
我作为后端现在就是直接传的字符串,前端却问我为啥不传 1234
tantalu
2020-05-15 17:56:36 +08:00
如果字符串参数里面有个不可见字符查问题能查一天。。。

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

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

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

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

© 2021 V2EX