Within the commercial reality of the modern business world, there are countless pressures on an engineering team that will lead to inevitable compromises. As an engineer with more than 30 years’ experience, I’d have to say that I have seen code that doesn’t even meet the basics. In order to meet deadlines, functionality is promised but not always delivered. This – along with the inevitable bugs to be fixed – eats up all the profit and can ultimately lead to the project, or worse still, the company going under.
At iVolve we have an entrenched quality coding culture. It is refreshing to be part of a team that embraces and upholds these key concepts. We want to produce quality code that makes quality products, which we are proud of and something that our customers want to use. But what exactly is quality code?
Quality Code is:
- Well designed – delivers the expected results in a concise and consistent manner.
- Within budget- the expected functionality provided within the allocated cost and timeframes.
- Maintainable– the inevitable bugs and variations are easy to identify and quickly and accurately implemented.
- Extensible – new features are easy to implement and add without risking the integrity of the existing functionality.
The points that have impacted me most in my career would have to be #3 and #4. They are related issues, with failure in #4 (extensible) leading to problems in #3 (maintainable). Over the lifecycle of most code bases, its related products and projects, these failures can cause endless grief and frustration. Then, when the products or projects progress, they become a nightmare to support and extend. In order to meet the commercial constraints mentioned earlier, companies rush out products on less-than-ideal code bases. While this may satisfy #1 and #2 above, this rushed approach has code bases fail the requirements to meet #3 and #4.
So how do we avoid this? That old adage comes to mind. KISS – keep it simple stupid. Make the code modular, keep functionality contained, make the code self-explanatory and add design details and comments as needed. iVolve’s coding culture ensures that these qualities are always met.
“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” – Martin Fowler, ThoughtWorks
To stay updated, follow Daniel on Twitter.