- 主题:一个函数有十好几个参数时,咋处理为好呢?
如果是 smell 问题的话,我觉得应该弄个 struct 来传递参数。除非确定是热点,不然都不要搞十几几十个参数。
不过,换成 python 语言我可能又是另外一种看法了。因为 python 支持 func(param=what) 这种写法,为了方便静态检查,我倒建议把参数都写上来,反正调用的时候一般都只写部分。
【 在 z16166 的大作中提到: 】
: 首先是smell的问题,其次才是优化之类的考虑
: 而且既然提出这个问题,说明早就过了通宵赶工发版的阶段,不然谁写100个参数的函数,我也会当作没看见,顶多捏着鼻子看。
--
FROM 124.72.111.*
弄一个结构,把所有参数弄在一起。
【 在 z16166 的大作中提到: 】
: 经常看到有人写的一个函数有十几个参数,感觉有点bad smell
: 如果把有相关性的几个参数放入到一个struct中,然后传递const struct &,不知道会不会影响编译器优化。
:
--
FROM 221.221.51.*
赞同,首先人能读懂
【 在 hgoldfish 的大作中提到: 】
: 写代码优先好看。因为程序员看代码的时间比写代码的时间多。再烂的程序员打字速度也能达到 50 w/s. 等你确定热点再哪里再去优化。
: 你连传参数的效率都考虑,应该去写汇编。
:
--
FROM 39.144.43.*
已经过了读懂的那个阶段了
20个参数,现在到了写得好的阶段了
【 在 tortelee 的大作中提到: 】
: 赞同,首先人能读懂
: :
--
FROM 114.241.225.*
使用面向对象的编程方式
【 在 z16166 的大作中提到: 】
: 已经过了读懂的那个阶段了
: 20个参数,现在到了写得好的阶段了
:
--
FROM 111.199.58.*
【 在 hgoldfish 的大作中提到: 】
: 如果是 smell 问题的话,我觉得应该弄个 struct 来传递参数。除非确定是热点,不然都不要搞十几几十个参数。
: 不过,换成 python 语言我可能又是另外一种看法了。因为 python 支持 func(param=what) 这种写法,为了方便静态检查,我倒建议把参数都写上来,反正调用的时候一般都只写部分。
:
那就可以借鉴 python的CPython实现, 变参和命名参数底层无非是使用了链表和字典。
--
FROM 124.126.2.*
数值计算参数多、命名短是难免的。重构以后可读性也并不会更好。还是得对照手头的公式看……
【 在 z16166 (Netguy) 的大作中提到: 】
: 很多年前学的第一门高级语言就是fortran。不能比烂啊,还是要有点B格的追求吧,哈哈
:
:
: 【 在 DoorWay 的大作中提到: 】
--
FROM 124.217.189.*
有些参数看看能不能抽出来作为class member, 然后搞一个构造函数传参数,c++可以
重载多个构造函数。
【 在 z16166 的大作中提到: 】
: 经常看到有人写的一个函数有十几个参数,感觉有点bad smell
: 如果把有相关性的几个参数放入到一个struct中,然后传递const struct &,不知道会不会影响编译器优化。
:
--
FROM 160.34.92.*
printf函数里面参数随意,怎么做到的?
【 在 z16166 的大作中提到: 】
:
: 经常看到有人写的一个函数有十几个参数,感觉有点bad smell
:
: 如果把有相关性的几个参数放入到一个struct中,然后传递const struct &,不知道会不会影响编译器优化。
:
--
FROM 114.236.112.*
我敲字就到不了 50w/s 可能只有42
【 在 hgoldfish 的大作中提到: 】
: 写代码优先好看。因为程序员看代码的时间比写代码的时间多。再烂的程序员打字速度也能达到 50 w/s. 等你确定热点再哪里再去优化。
: 你连传参数的效率都考虑,应该去写汇编。
:
--
FROM 47.152.112.*