The answer, as with everything in software development, is that it depends.
A god method with 100 optional params that is usually bad practice. But a common pattern is to allow for an options object to be passed, and that object may contain 0-n supported parameters. This pattern is used everywhere, see graphql as a widely used library that is based on this.
Totes this. I’ve refactored far too many of these things in my day so I just about always reach for an options object if there’s the slightest uncertainty about adding more params in the future.
The answer, as with everything in software development, is that it depends.
A god method with 100 optional params that is usually bad practice. But a common pattern is to allow for an options object to be passed, and that object may contain 0-n supported parameters. This pattern is used everywhere, see graphql as a widely used library that is based on this.
Totes this. I’ve refactored far too many of these things in my day so I just about always reach for an options object if there’s the slightest uncertainty about adding more params in the future.