Skip to main content

Get your code tighter....make sure TCr is on its way down over time.


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

Popular posts from this blog

the attributes of web 3.0...

As the US economy continues to suffer the doldrums of stagnant investment in many industries, belt tightening budgets in many of the largest cities and continuous rounds of lay offs at some of the oldest of corporations, it is little comfort to those suffering through economic problems that what is happening now, has happened before. True, the severity of the downturn might have been different but the common factors of people and businesses being forced to do more with less is the theme of the times. Like environmental shocks to an ecosystem, stresses to the economic system lead to people hunkering down to last the storm, but it is instructive to realize that during the storm, all that idle time in the shelter affords people the ability to solve previous or existing problems. Likewise, economic downturns enable enterprising individuals and corporations the ability to make bold decisions with regard to marketing , sales or product focus that can lead to incredible gains as the economic

How many cofactors for inducing expression of every cell type?

Another revolution in iPSC technology announced: "Also known as iPS cells, these cells can become virtually any cell type in the human body -- just like embryonic stem cells. Then last year, Gladstone Senior Investigator Sheng Ding, PhD, announced that he had used a combination of small molecules and genetic factors to transform skin cells directly into neural stem cells. Today, Dr. Huang takes a new tack by using one genetic factor -- Sox2 -- to directly reprogram one cell type into another without reverting to the pluripotent state." -- So the method invented by Yamanaka is now refined to rely only 1 cofactor and b) directly generate the target cell type from the source cell type (skin to neuron) without the stem like intermediate stage.  It also mentions that oncogenic triggering was eliminated in their testing. Now comparative methods can be used to discover other types...the question is..is Sox2 critical for all types? It may be that skin to neuron relies on Sox2

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform cert