Code Reviews for iOS and Objective-C
Code quality matters to me. When I started programming professionally I quickly realized that better code generally means lower stress levels and higher productivity, which was a huge incentive to improve. There are three tools that I find invaluable in this regard: acknowledging my own limits, testing, and code reviews.
Accepting your own limits is important in order to stop writing heroic code. Apart from a few really twisted minds, the high-profile programmers we admire are not superhumans empowered with magic brain power. More often they “just” know how to keep even the complex things reasonably simple to work with. Today, whenever my design starts to feel like a too great struggle uphill, I know it’s almost certainly wrong. And that’s a good thing.
Testing took a great burden off my chest – each time we were about to ship an update to our calculator app used by hundreds of thousands users, it was a great relief to run the test suite covering dozens of intricate corner cases and be reasonably sure that I didn’t break anything by adding the new features or fixing bugs. And not only that: the need to test modules in isolation forced me to decouple my designs. And that’s a good thing.
But at the end of the day there are simply too many degrees of freedom when designing code architecture, too many blind alleys. There are too many subtle errors that won’t be prevented neither by good design, the compiler, the automated test suite, nor user testing. And this is where code reviews shine – for nothing will help your code more than a careful, critical reading by a second pair of eyes. Being the only programmer in our team, this was a luxury I had to do without. And that’s a sad thing.
Which is why I am now offering Objective-C and iOS code reviews as a paid service.
I am not a wizard programmer that will make your code dance and your cat sing, but I am competent in what I do. I know the language, including the C bits that you wouldn’t bring up as a conversation topic during the Sunday lunch. I have reported bugs in the SDK. I was writing code for the platform when iOS was still called the “iPhone OS”, and our team has shipped our first iPad app before the iPad started selling to the public. I have written libraries used by dozens of iOS apps. I’m in the top 10% of Stack Overflow in C, Objective-C, iOS, multithreading, or Xcode.
Show me your code and I’ll make it better.