Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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.