Sam runs the Perth-based software consulting company codesplice, and organises the Perth iOS developers meetup group.
YOW! Connected 2016 Melbourne
Quickly Checking your Code for Fun & Profit
Laziness is one of Larry Wall’s “three great virtues of a programmer”, but most people probably don’t consider it a virtue when writing tests! Wouldn’t it be great though, if we could write a program that generates our tests for us? As it turns out, we can and should do this using property-based testing. I’ll go through some example testing scenarios in a few popular mobile programming languages, aiming to demonstrate:
- What property-based testing is and why EVERYONE should be using it (not just people coding in functional languages!)
- How generators can quickly & easily come up with more thorough test inputs than a programmer typing in magic numbers
- How to (and how not to) define properties to specify program behaviour
- The genius of shrinkers and why they can save you hours of tedious debugging and questioning your life choices
Attendees will gain a solid & practical understanding of how they can apply property-based testing to their own code, in fashion that is both enjoyable and lucrative.
Unidirectional Data Flow For Mobile
Unidirectional Data Flow is the new hotness in UI architecture, but how do we apply this to mobile apps? The easy answer is “Use React Native”, but who would want to take the easy road? Instead, in this talk we’ll go through the key elements of the unidirectional data flow style and look at how to architect this for mobile using an example Swift iOS app.
This will include:
- Defining core application state and leveraging change events to update the view layer
- Wiring up an Action dispatcher to manage state change, including background event
- Approaches to implement navigation flow on top of the UIKit framework
Attendees will gain a clear conceptual understanding of the Unidirectional style, and the practical benefits & drawbacks they’re likely to encounter using it in a mobile app.