Sometimes we get so caught up in the latest tool, feature or technology that we forget about our most basic principles. Take Dependency Injection for example; we can get so caught up in the abilities of Spring, Guice, or PicoContainer, that we forget that there are other, better reasons to choose Constructor Injection over Setter Injection than whatever is used in the HelloWorld example. But first, a little recap…
Make the right thing to do the easiest thing to do
This has already cropped up in slide six of my Agile Development Presentation, but it’s certainly worthy of having a post all of its own. It’s the combination of two of the most important lessons that a programmer can learn; that you should write programs for programmers, and that people are stupid and lazy. Don’t forget; programmers are people too…
People are Stupid and Lazy
They just are. Even me. Especially me. If you’re going to get anywhere in life, you’re gonna have to just deal with it.
Read the rest of this entry »
Write Programs for Programmers
By far the most influential book I’ve ever read (in my professional life) is “C++ In Action: Industrial-Strength Programming Techniques” by Bartosz Milewski. I first read it at a time when I’d learned just enough about programming to realise how little I knew about programming, and I was in dire need of being pointed in the right direction before I just gave up completely. Fortunately, Rob was on hand to beat me round the head with his copy of C++ In Action and I finally took my first steps on my ongoing journey to becoming a proper programmer.
Favour Non-Default Constructors Over Default Constructors
This is basically a rehash of my earlier post, where I asked whether my objects should have a default constructor, and we (or, at least, I) came to the conclusion that default constructors are evil. I keep finding myself referring back to the fact that default constructors are evil, and thought it might help to have a more concise summary of why you should favour non-default constructors over default constructors.
If my code stinks, I’d rather you just told me.
One of the phrases that has stuck with me since my Agile lectures was that “Agile highlights shortcoming in your development process; you need to be prepared to accept this”. It was introduced in the wider context of getting teams and organisations to accept Agile processes; people need to understand that Agile will show them the mess that they’re in, and only then can they get on with cleaning it up.
But it also applies on the micro-level. Agile practices should show me where I’m going wrong; only then can I hope to do better next time. Unfortunately, a lot of the tools and processes that we use from day to day don’t work like that out-of-the-box. Take import handing in the Eclipse IDE, for example…
Agile Development Presentation
Following on from the series of Agile Lectures that I went to back in, erm, March, I presented a summary of (what I hoped were) the key points that were relevant to the guys in work….
Students, Vicars, and Members of Parliament
I’ve been doing my best not to blog about the MPs’ expenses debacle (I mean, who wants to talk about that when there are signs out there in need of better grammar?) but I really don’t get how so many can grasp a stick so simple at completely the wrong end…
Dr Dan Twining talks about Wheelchair-Friendly Homes
There was an article in the Independent this week with a quote attributed to one Dr Dan Twining. Yes, it was me, and no, I haven’t bought a doctorate off the internet (or from anywhere else for that matter). Still, it’s one more step up that ladder of success, right?
Anyway, the rest of the article seems accurate enough. If you happen to be looking to buy or sell a wheelchair-friendly home, then there are plenty of links in the article to help you on your way. For the record, here’s what I told the reporter…