Home > Development > Rulers or Paintbrushes?

Rulers or Paintbrushes?

I wrote previously that developers love some structure to their work, and to their routines. I made the point that these structures do not include those that enforce “so many constraints upon them that they are spending more time meeting development guidelines“. All documents, barring those bound up within contractual terms, should be ‘living’: able to change and adapt to the environment that they were produced within.

In a small team, or one with a high staff turnover, it is essential to ensure that as many developers as possible know how to manage each individual clients’ codebase. A core part of this is the use of coding standards, which might be as simple as defining the naming scheme for public methods, or as complex as mandating the exact formatting of SQL procedures.

This is fine, as long as all the decisions are sensible and the team are happy to follow it. However, the first problem comes in when the standards are inflexible, and based around the (in)ability of others in the team. I was once told that I could not use the Visual Basic function Iif because, and I quote directly, “the other developers don’t know what it means”. Imagine that – being held back simply because of the inability of people you work with.

The second problem is when the document has come from outside the development team itself; in an ideal world this should never be allowed to happen, it should grow to reflect issues that the lead developers have spotted. Although external input is welcome, it should be welcomed with discussion: I have seen situations where a team were given a document, written at least a year beforehand by another company, that explicitly banned a technology that they’d used throughout their software that had matured in the meantime.

Coding standards documents should evolve as developers educate themselves. There’s no point in saying that a specific technology should or shouldn’t be used, as there is every chance that within a year it could have been superceded. Having a measure of flexibility allows developers to evaluate , to assess, and to use new methodologies and technology where appropriate. If the standards document no longer fits the best way of writing software, don’t be afraid to bin it and start again.

Computing is seen by many as a science, but to me development is an art. I’m happy to use a ruler when needed, but let me keep my paintbrushes to hand.

Advertisements
Categories: Development
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: