When I have a function that might, or might not receive a certain parameter, is it better to overload the function, or to add optional args?
If each one has it's ups and downs - when would I use each?
|
When I have a function that might, or might not receive a certain parameter, is it better to overload the function, or to add optional args? If each one has it's ups and downs - when would I use each? |
|||||
|
|
If the language supports them properly (e.g. type-safety, if applicable), I would prefer optional arguments for the following reasons:
|
|||
|
|
|
Assuming a constructor kind of situation: I often choose a fluent builder pattern to prevent situations with many options. Eg. Of course you now need a separate object to hold the state of your builder, but you reduce overall complexity by separating behavior of constructing from behavior of the constructed. |
|||
|
|