Sorry I missed out, I blame being a programmer and as a result not understanding time zones.
The important part for me from the first few chapters was just how many places there in code that can be treated as "seams" for testing. I've never really thought about testing code that uses C function interfaces (in the iOS world, I'm thinking of things like the Security framework and Core Graphics) until I read what he said on preprocessor seams and linker seams, and now I can see how to do it. So when people tell me "oh, my app is mostly graphics and you can't test that" I have more reasons to press than just "no, it's probably mostly logic that's tightly coupled to your graphics code" :-).
> iOS architecture, where MVC stands for Massive View Controller
You often find that everything is just bundled into the view controllers, and that specific frameworks are slathered all over the apps. I think it may be an artefact of a couple of things:
- the sample code (Apple's, our own, other people's) doesn't make a big deal of architecture, and for brevity and focus follows the Massive View Controller pattern
- there's a large subset of Cocoa* developers who only consume information if it's in Objective-C, so miss out on OO practices where they were documented in C++, Java or whatever
- it hasn't really bitten people yet. A handful of developers have the same app on Mac and iOS, but few have a real need for either portability or agility at the moment.
I think this is an opportunity, if for not more than a couple of blog posts, and wanted to put that chapter on the list to raise that point and to find out how relevant it is to other people, what do the Rails, Android, JS and other people among us think?
Thanks,
Graham.