This project is read-only.

Confessions of an OCD developer

Topics: Code, Project
Apr 26, 2013 at 3:26 PM
Sometimes, I feel I'm constantly tidying, commenting, refactoring and organizing and not really getting anything done. As well as being OCD, I also talk to myself, so I thought I'd share some of that conversation with you.
OCD me: Am I OCD?
Rational me: What are your goals?
OCD me: to learn to program as part of a team rather than team of one, and hopefully learn some transferable skills and increase my job prospects when I finally return to the UK.
Rational me: Dude. You are definitely OCD and posting a discussion you had with yourself is disturbing but if it works go with it.
Apr 26, 2013 at 6:03 PM
This is fantastic. I feel the same way a lot of times however I don't feel established enough in this project to even touch anyone elses work :0.

In regards to your goals I think your OCDness (we'll just call it cleanliness) is a huge asset. Keeping a clean a code base makes your project both more accessible for yourself (as you reflected in an earlier post) and others (let's just say all the additional comments and method/class summaries are a huge help to me learning the project). Dirty/uncommented code can make sense to its creator (sometimes) but really rears its ugly head in a team setting.

In addition, refactoring is probably more educational than implementing new features. If you're constantly thinking of best practices and how things should be done, it will lead to you being a better developer.
Apr 27, 2013 at 5:45 AM
Thanks. A lot of this code was written a couple of years ago and was often written just to get something working. Feel free to hack at anything, it's all work in progress. I noticed one of your comments along the lines of "//need to figure out why this is here". The answer was it shouldn't be because it does absolutely nothing and is simply legacy code that hadn't been tidied up. Questions like this in the code are great. //FIXME: perhaps can be used to ask questions so they show up on the task list.