Here by defines the TC ratio, "tight code":
If the ratio of the total lines of code in your project over the number of unique features added with those lines of code goes down over time, then your project is getting progressively tight and is efficient across all metrics....otherwise, you need to re-evaluate your architecture, re-evaluate the skill of your coders and re-evaluate the features you're adding.
TCr = total lines of code / total features user or admin facing
TCr ~ 0 = GOOD!
:In my development of AgilEntity, TCr has been going down for quite some time now. Over the history of a project the TCr curve should look like a rapidly rising curve from f(eatures)=0 on the horizontal axis and with total lines of code on the vertical axis, as features are added, the curve should hump as the architectural code is completed and then if the architecture is hyper efficient new additions to code should be swamped by features that accrue with their addition, bringing the curve down toward zero as more and more features can be added with less and less code or additions
to the architecture.
You can do several things to bring TCr down, refactoring existing code is a quick and dirty way. The best way though is to make sure you have a very efficient architecture to begin with including lots of polymorphism, lots of abstraction via reflection...finding the symmetries where having such features reduce code complexity is itself an art that comes from truly understanding the power of object orientation for large projects.
Comments