请问各位大神这两种风格的代码哪一种使用得最多

2017-05-24 18:08:57 +08:00
 ovack

风格 1:

sendMessage = (url, data, retryNum = 0) ->

风格 2:

sendMessage = (url, options) ->
  data = options.data
  retryNum = options.retryNum or 0

读过代码整洁推荐的是更少参数的风格 2,实际开发中如果使用风格 2 就需要在每一次调用方法前拼装 options,如果方法不是同一个人写的话,甚至还得查阅使用文档; 代码显得臃肿 不整洁

使用风格 1:首先调用前不需要拼装新的参数,如果编辑器有代码提示的话根据参数名称就可以知道参数的意义,不需要查阅文档,代码看上去整洁不少

请问各位大神平时使用哪种风格多一些

2189 次点击
所在节点    JavaScript
2 条回复
spark
2017-05-24 22:54:31 +08:00
1. 参数超过 2 个第二种,否则第一种
2. 写注释
3. ES6: function func (url, { a, b, c })
codehz
2017-05-29 13:52:37 +08:00
我喜欢这种

(url, retryNum = 0) => data => {
233
}

或者参数比较多就这种

({url, retryNum = 0, blabla = '2333'}) => data => {
666
}

分割依据和应用场景有关,比如大部分情况不会变的,作为第一个调用的参数,每次调用都变的就是第二种

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

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

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

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

© 2021 V2EX