Coding Standards

Coding standards should improve code readability.   I would like to say there are numerous studies about why one needs coding standards, however i have not found many. This paper from NASA is a good starting point.  Once you have a coding standard, how do you as a developer use it,  and how does the organization change the standard.  I am not so sure, coding standards can be static documents.  Coding standards are needed if you want to work on a team and collaborate on code development at the source level. It doesn’t really matter if it is the Mars mission or registration for Healthcare, practices like the ones  described at  Laboratory for Reliable Software (LaRS)  at the Jet Propulsion Laboratory be expected on all software systems IMO. Given the state of organic growth of apps. That little app you are using on the Web often becomes a critical part of a larger system. Another topic in this area is similar to supply chain. Given a software process that spans many systems, what are the quality levels of all the different systems.

How long does it take to learn a coding standard?

Consider the following two standards:

The CERT Oracle Coding Standard for Java

JPL Coding standard for Java

How have they helped?

Will they help in the future?

Can we apply to them to existing implementations and see if they would have helped

Does tooling help?

While PMD, Findbugs, checkstyle are very good tools,  a recent publication Recommendation Systems in Software Engineering may be an indication of a broader view on software development tooling.  One could construe from the collection of articles in the that writing, reading and testing code tooling may be helped byt the constant presence of a recommendation system.  So when writing code the recommendations system may suggest possibilities.  IDE users can be bombarded with suggestions that are often irrelevant.

There has to be a way to use tooling to make it easier to develop code and follow rigorous standards like the one above which is in excess of 300+ pages.

Leave a Reply

Your email address will not be published. Required fields are marked *