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

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

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

 

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

源代码查看:Illuminate/Queue/WorkerOptions

 

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

 

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

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

posted @ 2018-07-26 21:51  佚名000  阅读(3123)  评论(0编辑  收藏  举报