Over the past few years the importance of having a strong set of coding standards has really stood out for me. Especially since becoming freelance, I tend to find myself dabbling into a lot more work done by other developers where most of the time it’s clear no set of coding rules are in place. As a good example of this, I recently did some work for an organisation that had about ten developers working there. Each person did their own thing and every bit of code I got handed to fix looked completely different. Hopefully by the end of this post you’ll understand why this started to annoy me.
Before I go any further let’s look at what coding standards are exactly…
What are Coding Standards?
Coding standards (also sometimes known as ‘Coding Conventions’ or ‘Coding Rules’) are a set of guidelines that a group of developers stick to, to ensure that they are all essentially “singing from the same hymn sheet”. It means that they all code in the same format and therefore, regardless of who is next to work on a particular bit of code, the syntax and formatting used will be instantly familiar.
You can see this in action for yourself by opening up the code behind a framework or CMS. If you see, for example, a foreach iteration done one way in one part of the code, the chances are that it will be done in exactly the same way throughout the entirety of the code.
Below are some links to coding conventions published online in an effort to get third-party developers onboard and coding in the same way:
WordPress – http://codex.wordpress.org/WordPress_Coding_Standards
Drupal – https://drupal.org/coding-standards
Zend – http://framework.zend.com/manual/1.12/en/coding-standard.coding-style.html
CodeIgniter – http://ellislab.com/codeigniter/user-guide/general/styleguide.html
The Benefits of Coding Standards
There are multiple benefits to implementing coding standards in your organisation or daily coding practice:
Quicker to debug code
Having code in a uniformed format makes it a heck of a lot easier to debug code. Whether it’s a parse error due to a missing bracket, or a variable not being updated due to it being outside of a certain loop, having code in a neat, clean and easy-to-read format will allow bugs and fixes to be found and resolved a lot quicker.
This is especially true in the scenario where the developer that didn’t originally write the code is charged with fixing it.
Easier to code review work
If you have a code review process in place at your organisation (a process whereby members of staff review each others work before it can go live), a coding standards practice is again going to make your life a lot, lot easier.
If you do have a code review process in place, but no coding standards, why not think about combining the two and ensuring the code matches the coding guidelines set before it can pass review.
Improves your’s and your fellow developer’s CVs
To me, coding standards is a skill, and one you should put on your CV if ever applying for a job. If you can show that you can, and are used to, following a certain set of rules when it comes to coding alongside others, that’s got to be a good thing right?
Ensures everyone is using the most efficient code
I’ll use PHP as an example here when I say that:
$my_array[] = "element";
is more efficient than:
array_push($my_array, "element");
And similarly:
++$i;
is more efficient than:
$i++;
Ok, we’re only talking microseconds here, but if all the developers in a team are using the most efficient methods across an entire codebase, it does all add up when you consider how many times these individual bits of code might be used.
Members joining and leaving a development team has less impact
With a member of the development leaving, it’s easy for someone else to pick up his/her code and carry on from where they left off and instantly understand what’s going in. Likewise, if a new member joins it makes it easier for them to understand and pick up the code base that they will be working on.
Conclusion
Whether you’re part of a large development team or a self-employed freelancer, the benefits of implementing coding standards in your day-to-day work will improve your code and have a positive effect on everyone around you. Admittedly, at first, it may seem a struggle to get everyone on board, but ultimately what it all comes down to is saving man hours and making code easy to both manage and maintain in the longrun.
Have you recently implemented coding standards into your organisation, or are thinking of doing so? Please tell us how it went by leaving a comment below.