Coding Standards in Software DevelopmentFriday, January 13, 2012
“Most important is the use of a high-level language and self-documenting techniques so as to reduce errors induced by changes. Using compile-time operations to incorporate standard declarations helps powerfully in making changes.”
“Refer to standard literature to document basic algorithms wherever possible. This saves space, usually points to a much fuller treatment than one would provide, and allows the knowledgeable reader to skip it with confidence that he understands you.”
So many men, so many opinions. But it is difficult to imagine how challenge to achieve a significant result when each member follows his own way. It is important not only to have a common goal, we also need a common tools.
During my short career I have seen how is this problem solved in various companies such as Google and Oracle. Started working at Intel I was surprised by the absence of any standards for writing software code. The only thing that they considered necessary - I attended to the one instructor-lead trainning about security in software programming and to the three webinars look like presentations, that only briefly telling the essence of the subject.
Of course, the main objective of the company - making a profit, and what is inside the product does not really matter if the user does not see the code. For most people compiler is a black box that translate the text files to the binaries, in the case of performance libraries - they contain only a mathematical code, and they cause an attack to the user's machine, it will happen through the fault of the application using that libraries.
At Google, a very serious approach to security and availability of the standards meet this requirement. Let me give an example, became popular, the Google Chrome browser. This product is written in a very high quality of code (as proof, PVS-Studio vs Chromium) and this strategy is justify all costs. To date browser from Google is rapidly gaining popularity, and soon, it could be №1 browser.
Unfortunately, to date I have not managed to convince my colleagues to take public or develop our standards. Intel has not had time to understand the importance of the code quality...
Benefits of Using Coding Standardsbe Leo Veranga
For the developers:
- The source code will be more comprehensive and will become easy-to-maintain. As the programmers became more and more familiar with the coding style as they implements the coding standards on project after project.
- The uniform approach for solving problems will be handy because the code standards documents reveal the recommended methods that were tried and tested on the earlier projects.
- Less communication between developers and managers will be needed because the programmers will not asked anymore on the details of the specification document because the defaults are all stated in coding standards.
- Is common to the less experience programmer to re-invent the wheel. When there are coding standards, there is a big chance that particular problem is not really a new problem, but in fact, a solution may be documented before.
For the quality assurance team:
- Well documented coding standards will aid the creation of "Test Scripts". Having reviewed the source code and tested an application based on compliance to coding standards, it added strong direction to ensure quality of the software product.
- Because code standards implements traceability, the item ids can be used to describe a violation in the "Test Results" document that both developers and testers are familiar with.
- It is important for the project managers to maintain and secure source code quality on their projects. Implementing coding standards could jumpstart this goal halfway to its realization.
- Repeated performance pitfalls could be avoided. It is a common case that a released software product could be less impressive when it comes to performance when the real data has been loaded in the new developed database application.
- Lesser man-hour consumption as the sum of all efforts implementing coding standards.
- It is also beneficial for the organization who are applying for ISO 9001 license because coding standards is a complement from organization's execution plan requirements.