Hard to find good concrete examples of design trade-offs. But here is on a colleague of my recently pointed out in a code review.
Method takes a bool
func switchToChatTab(hasActivationFailed: Bool)
and then does something interesting. But if the thing that is changing is a struct or something else, pass that in instead.
func switchToChatTab(with entryPoint: EntryPoint)
Now this function is open for extension but close for modification. Even better if the struct captures the Bool you were passing around before.
Leave a Reply