我们假设一下,我们有一个方法,拥有多达 20 多个参数,如:
这种情况下,我们可以想象到后续维护时候的痛苦,尤其是,需要增加或者删除参数的时候。
今天看 Redis 的 Queue 源代码的时候发现,里面的 Worker 的配置项是有一个独立的类来维护的:
源代码查看:Illuminate/Queue/WorkerOptions
所以,我想,在写有很多个参数的函数的时候,可以考虑一下使用一个独立的类来进行这些参数的维护,然后使用类似的命名 XxOptions,这种情况下,需要新增参数就很方便了。
不过,过于复杂的函数,最好还是使用一个逻辑清晰的类来维护吧。毕竟把所有逻辑写在一个方法里面可维护性太差,尤其是当业务逻辑复杂起来的时候。
具体可自行 百度或google 一下 SOLID 原则,尤其是单一职责原则。