Author Archives: Graham

About Graham

I make it faster and easier for you to create high-quality code.

Choosing the correct openings and closures

Plenty of programmers will have heard of the Open-Closed Principle of object-oriented design. It is, after all, one of the five SOLID principles. You may not, however, have seen the principle as originally stated. You’ve probably heard this formulation by … Continue reading

Posted in OOP | Leave a comment

NIMBY Objects

Members of comfortable societies such as English towns have expectations of the services they will receive. They want their rubbish disposed of before it builds up too much, for example. They don’t so much care how it’s dealt with, they … Continue reading

Posted in Uncategorized | Leave a comment

Dogma-driven development

You can find plenty of dogmatic positions in software development, in blogs, in podcasts, in books, and even in academic articles. “You should (always/never) write tests before writing code.” “Pair programming is a (good/bad) use of time.” “(X/not X) considered … Continue reading

Posted in Uncategorized | 1 Comment

The whole ‘rockstar developer’ thing is backwards

Another day, another clearout of junk from people who want ‘rockstar iPhone developers’ for their Shoreditch startups. I could just say “no”, or I could launch into a detailed discussion of the problems in this picture. Rockstars are stagnant No-one, … Continue reading

Posted in advancement of the self, social-science | Leave a comment

Programmer Values

A question and answer exchange over at programmers.stackexchange.com reveals something interesting about how software is valued. The question asked whether there is any real-world data regarding costs and benefits of test-driven development.[*] One of the answers contained, at time of … Continue reading

Posted in social-science, TDD | Leave a comment

Know what counts

In Make it Count, Harry Roberts describes blacking out on stage at the end of a busy and sleepless week. Ironically, he was at the start of a talk in which he was to discuss being selective over side projects, … Continue reading

Posted in advancement of the self, learning, psychology, Responsibility, social-science | Leave a comment

The future will be just like the past, right?

I’ve been having a bit of a retro programming session: The computer in the photo is a Cambridge Z88, and it won’t surprise you to know that I’ve owned it for years. However, it’s far from my first computer. I … Continue reading

Posted in social-science | Leave a comment

On what makes a “good” comment

I have previously discussed the readability of code: The author must decide who will read the code, and how to convey the important information to those readers. The reader must analyse the code in terms of how it satisfies this … Continue reading

Posted in documentation | 1 Comment

Did that restructuring work actually help?

Before getting into the meat of this post, I’d like to get into the meta of this post. This essay, and I imagine many in this blog [Ed: by which I meant the blog this has been imported from], will … Continue reading

Posted in academia | Leave a comment

Teaching Programming to People. It’s easy, right?

I was doing a literature search for a different subject (which will appear soon), and found a couple of articles related to teaching programming. I don’t know if you remember when you learnt programming, but you probably found it hard. … Continue reading

Posted in academia | Leave a comment