Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Controlling complexity for large iOS projects

Controlling complexity for large iOS projects

Presented at https://www.facebook.com/events/1534925300149432/
This talk discloses some points on bringing dependency hell back under control. It also includes demo of https://github.com/soxjke/WatchDogs

Petro Korienev

June 11, 2016
Tweet

More Decks by Petro Korienev

Other Decks in Programming

Transcript

  1. • Moore’s law (hardware’s getting twice faster every 2 years)

    WHY DOES IT HAPPEN? • Wirth’s law (software’s getting slower faster than hardware’s getting faster)
  2. • Control decreases over time • Consequence of growing complexity

    • Maintainer change • Software is not an IP carrier, author is
  3. • “I’ve seen stuff like this before” • “This is

    pretty straightforward” • “If i’d do stuff like this, i’d do this way” TRUST IN SELF
  4. GET RID OF DEPENDENCIES • Sometimes is not applicable •

    Possible even with closed- source • In moderate scale it’s the best approach to take control
  5. GRAYBOXING • Idea is to find a right place and

    inject something validating the correctness of contract • Unlike unit tests, verifies dynamic, run-time behaviour