函数参数太多的一种简化方法

Posted eleven24

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数参数太多的一种简化方法相关的知识,希望对你有一定的参考价值。

我们假设一下,我们有一个方法,拥有多达 20 多个参数,如:

技术分享图片

这种情况下,我们可以想象到后续维护时候的痛苦,尤其是,需要增加或者删除参数的时候。

 

今天看 Redis 的 Queue 源代码的时候发现,里面的 Worker 的配置项是有一个独立的类来维护的:

源代码查看:Illuminate/Queue/WorkerOptions

技术分享图片

 

所以,我想,在写有很多个参数的函数的时候,可以考虑一下使用一个独立的类来进行这些参数的维护,然后使用类似的命名 XxOptions,这种情况下,需要新增参数就很方便了。

 

不过,过于复杂的函数,最好还是使用一个逻辑清晰的类来维护吧。毕竟把所有逻辑写在一个方法里面可维护性太差,尤其是当业务逻辑复杂起来的时候。

具体可自行 百度或google 一下 SOLID 原则,尤其是单一职责原则。

以上是关于函数参数太多的一种简化方法的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C学习笔记-第一天

C++中数组作为形参进行传递(转)

c语言可变参数是干啥的

C++ 函数透明地采用左值和右值参数

函数的参数太多了

c语言怎么写重载函数?