Always Write Functions to Cope with all Possible Parameter Values

Matt Galagher is back writing at Cocoa with Love. His goal is maintainability, which is the greatest of all, I think. It's easy to copy code samples together to create an app, bur it's hard to create a product you can keep alive and make better over years. In that vein, his first article, "Partial functions in Swift, Part 1: Avoidance", includes a lot of details why partial functions will hurt you. This is a great topic. Read his post for the basic set theory involved.

Continue reading …

Parameter Objects Simplify Your API Versions

I watched an AltConf about API design the other day. I cannot seem to find which talk it was, though. Anyware, the presenter talked about using parameter objects when the parameter list grows too long or is open for change in future versions. Parameter objects can change internally and evolve with the API. You can add or remove attributes, for example, while the API calls of old client code don't have to change: they still pass the same type in. That makes framework updates a bit less painful because method signatures stay the same.

Continue reading …