wnagrodzki / iOSProgrammingGuidelines

2 stars 0 forks source link

Maximal Hermetization #18

Open wnagrodzki opened 6 years ago

wnagrodzki commented 6 years ago

Application programming interface should be minimal and able to perform all operations we require of it well. All implementation details should be hidden from client.

  1. Minimal API will result in:
    1. clear and understandable interface
    2. minimal coupling between modules
    3. concise unit and integration tests
  2. Hidden implementation details will:
    1. protect instance state from breaking
    2. allow modifications as clients cannot use hidden interface

It will also cause builds to be faster (see Building Faster in Xcode WWDC 2018).