sandal-china edited this page Dec 5, 2011 · 15 revisions

If you ask ten different programmers what the concept of software quality means to them, you're likely to get ten completely different but equally valid answers. While this is not a problem in and of itself, it presents us with a challenge when it comes to discussing, evaluating, and improving the quality of our work.

To help establish a common language for discussing code quality as well as to provide a framework through which the big picture can be analyzed, an international standard for evaluating code quality was developed. While the standard doesn't introduce any concepts that will be unfamiliar to experienced developers, it does a good job of bringing them all together into a neatly organized hierarchy.

On this wiki, I've provided examples of how each of the concepts covered by the ISO/IEC 9126 standard can be applied to modern programming problems. While I've addressed each topic individually in this wiki, it is important to recognize that tensions will arise in projects where you will be forced to trade some aspect of code quality for another. The good news is that simply knowing the different dimensions through which code quality can be evaluated will make it easier for you to determine priorities and to make reasoned arguments about the tradeoffs you make at all stages of the software development lifecycle.


Turn the page if you're taking the linear tour, or feel free to jump around via the sidebar.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.