So how do we define “code quality”.
Here’s how Wikipedia defines Source code quality. The key points: Readability, Ease of maintenance, testing, debugging, fixing, modification and portability, Low complexity, Low resource consumption, and Number of compilation or lint warnings.
One of the most important aspect of “ease of maintenance” is the cost of adding new features. I call this extensibility. If I quickly write some code to satisfy today’s requirements without thinking about the future, it may cost me a lot to add new features two months down the line. Since no software metrics measure this factor, one has to pay special attention to ensure that your code is extensible.
Developers generally do not learn this unless they have worked on the same code base (and suffered the pain) for 3-4 successive product feature releases.
With the rate at which developers change jobs, this breed is difficult to find in India.
So how many developers in your team have worked on 3-4 successive feature releases of the same product? Leave a comment.