Wednesday, December 10, 2014

The First Step is Admitting You Have a Problem

I can be a sloppy developer.   There I admitted it.

Okay, that's a bit of an overstatement and it only applies to the apps I develop in my spare time.

I do have to admit that I am embarrassed by the code I developed for my earlier apps.  I didn't have the experience that have now and I was trying to cram in the development between my day job and trying to have a personal life.  I wound up cutting corners to try to make the most of the time I had to work on it.  Therefore, things like unit test, documentation, and making the code maintainable kept getting pushed down the to do list.

The end result wound up being that now I have several apps that I want to continue working on, but the code bases are in bad shape.

After some reflection (and a little swearing about the state of the apps), I came to realize that the reasons I felt okay cutting the corners was that I wasn't being paid for the work and nobody else was every likely to see it.  While I can't really justify paying myself for the free time work, I can make my code more visible.

So I decided to publish my code bases publicly on GitHub.

Then I decided to chronicle the refactoring process for each of the apps I want to modernize and improve.  So my current plan is start with one app and publish the out-dated legacy code as-is.  Then I  plan on going go step-by-step improving the app until I finally publish it again.

Part of me really wants to cringe at publically releasing the code in its current state.  However, I thought it was important to show the refactoring process so that others can avoid some of the newbie android developer mistakes I made early on and how to fix them if they are in the same boat as I am now.

Here goes nothing.  The respositories are at GitHub at

No comments :

Post a Comment