#PickyRefactoringJournal
Explore tagged Tumblr posts
Text
Picky Refactoring Journal #0: Prelude
A little background for those who aren’t familiar with it: my app Picky is an alternative to the standard iOS Music player, and it’s where the vast majority of my time in Xcode is spent outside of my day job. I work on it (in some capacity) just about every week, and use it daily.
I first started working on Picky all the way back in January of 2011. Before Swift, before Auto Layout, before ARC: different times. It’s an app I’m immensely proud of, and I find it incredibly satisfying to ship new features (v2.10.1 was released last month) and make my customers happy. But its codebase is old and creaky, and after spending almost a year writing Swift full time I find it hard to motivate myself to go back to it.
So, in the spirit of Brent Simmons’ classic Vesper Sync Diary and my friend Curtis Herbert’s illuminating Slopes Diaries I’m going to challenge myself to keep a public record of a project of my own: a complete and total refactoring and rethinking of Picky’s codebase. It’s not just that I want to be writing Picky in Swift; I’d also like to adopt some of the more modern design patterns I’ve worked with over the last while, and I need a better foundation to build off of to add many of the new features I’ve been planning. Plus I’ll finally be able to justify putting out an update as version 3.0!
Writing about this publicly is committing myself to finally going ahead with the rewrite, and I’m hoping it’ll help keep me focused, let interested customers follow its progress, and maybe even spark a conversation or two (getting feedback on coding decisions is almost always useful, and something that’s a lot harder to come by when you’re not working on a team).
Next time: a 1400 line singleton and some short term decisions!
1 note
·
View note