[吐槽] 你们遇到过给封装方法参数加在中间的坑货吗

2018-04-02 15:58:41 +08:00
 OMGZui
# 这是原方法
function loadImgUseQiNiu(clickBtn,upload_token,cb){}

# 这是他改的
function loadImgUseQiNiu(clickBtn,upload_token,size,cb){}

我真是打人的心都有了,测试跟我说图片不能上传了,打开 console,报错,cb is not a function,我说怎么会有这种莫名的报错,打开改文件一看,我擦嘞,加了个参数,我说加就加呗,还加中间,此处摊手表情

4989 次点击
所在节点    JavaScript
28 条回复
lkj007
2018-04-02 16:03:14 +08:00
我觉得正常啊,cb 是一个回调,是应该放在最后面呀
zjp
2018-04-02 16:05:13 +08:00
充分体现了静态语言的优势 :doge:
改接口不沟通,不用默认参数,还有这命名都是槽点…
murmur
2018-04-02 16:06:24 +08:00
java 和 javascript 一词之差体验差了不知道哪里去了
OMGZui
2018-04-02 16:10:53 +08:00
@lkj007 一般是放最后面,但是改了居然不说的,很多地方都得用这个方法
OMGZui
2018-04-02 16:13:24 +08:00
@zjp 2333,这里用了默认参数还是得报那个错,老前辈留下来的代码了,我是怕了改代码的这家伙了,重新封装了一次,自己调用。
gen900
2018-04-02 16:13:30 +08:00
其实是没处理好,新版本的接口加上

if (typeof size === 'function') cb = size;

就可以兼容老传参了。
odirus
2018-04-02 16:14:50 +08:00
以前写动态语言我都写怕了。。。
OMGZui
2018-04-02 16:18:16 +08:00
@gen900 这是一个方法,但是那家伙就是暴力的加在了前面,然后改了他自己调用的地方,不管其它地方,真的服
qiuyk
2018-04-02 16:22:00 +08:00
多人合作还是上 ts 比较保险
Tneciv
2018-04-02 17:08:17 +08:00
多谢 Java 给了我一条生路
CYKun
2018-04-02 19:20:29 +08:00
多谢 Java 给了我一条生路
x7395759
2018-04-02 19:24:22 +08:00
多谢 Java 给了我一条生路
willvvvvv1
2018-04-02 19:31:16 +08:00
多谢 Java 给了我一条生路
broadliyn
2018-04-02 19:57:25 +08:00
多谢 Java 给了我一条生路
eslizn
2018-04-02 20:10:13 +08:00
实在不行不能 loadImgUseQiNiu(options)吗?
scnace
2018-04-02 20:10:54 +08:00
没有 CodeReview 的吗?
h1367500190
2018-04-02 22:16:33 +08:00
就算目前只传一个参数我也会这么写:
function loadImgUseQiNiu({ clickBtn, upload_token, size, cb }){}
jmc891205
2018-04-02 22:53:56 +08:00
多谢 C++ 给了我一条生路
xrlin
2018-04-02 23:31:17 +08:00
静态类型保平安,每次改 ruby 代码我都有点不放心,js 代码也是,所以新项目还是上 ts。这也是你们接口没商量好的问题吧。
imswing
2018-04-02 23:35:15 +08:00
可能习惯回掉放最后了。。。

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

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

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

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

© 2021 V2EX