一些粗浅的见解,希望大家一起来谈谈自己的体会(1)我觉得检验一个函数是否好的标准很简单,就是你是否反复使用它。如果你写了个函数,之后却再也没用过它,这个函数就不是个好函数。
(2)功能明确,参数不要太多。其实写这个帖子,是因为最近我写了个很通用的函数,带了几十个参数。因为很通用,每次我用的时候都会有点担心,都会回头重新检查这个函数的代码,害怕当时写这个函数的时候有些情况没考虑到。结果,本来我写这个通用函数是为了省时间,可是倒反更花时间了。以致于现在每次我要用这个函数,都会头疼畏惧。不知大家有同感否?
(2)功能明确,参数不要太多。其实写这个帖子,是因为最近我写了个很通用的函数,带了几十个参数。因为很通用,每次我用的时候都会有点担心,都会回头重新检查这个函数的代码,害怕当时写这个函数的时候有些情况没考虑到。结果,本来我写这个通用函数是为了省时间,可是倒反更花时间了。以致于现在每次我要用这个函数,都会头疼畏惧。不知大家有同感否?
代码不要太长,太长的要合理拆解细化,然后通过一些封装手段对外暴露接口
参数不要太多,容易混淆,实在没有办法可以通过 定义结构体作为参数,或class或轻量对象实现
用结构体,其实还是很多参数,要考量的因素还是一样多,实质还是不变。重载的话,我用的是VBA,不支持,唉。
中的代码坏味(bad smell)中就有函数包含过多的参数的情况,
此时可以将参数封装为一个对象:参数对象
hzA = 1
hzB = 2
hzC = 4
hzD = 8
end enumpublic sub test(byval tester as hzTester)
if (tester and hzA) = hzA then
' ...
end if
if (tester and hzB) = hzB then
' ...
end if
' ...
end sub' 调用
call test(hzA or hzC or hzD)