General Principles

Never add unnecessary indirection in code

Do not centralise a variable used in many places if it’s simple
e.g. UIColor.systemBackground shouldn’t be wrapped ever

No protocols, abstract classes

Unless absolutely justified and called for, or required by system APIs.

No unit tests

Adds unnecessary overhead (ball and chain)
Adds unnecessary lines of code to maintain


Adds unnecessary overhead
Everyone should be able to build from source


Creates a culture of ass-covering
Rely on common sense, understanding, trust
Share Ideas/priorities somewhere simpler
e.g. Excel sheet or custom tool


For complex designs, use storyboards/NIBs
e.g. Custom entry form
For simple layouts do it in code
e.g. a tableview with a header in a VC

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s