code ownership
Posted by Adam Heath-2 on Mar 15, 2010; 4:40am
URL: http://ofbiz.116.s1.nabble.com/code-ownership-tp1592922.html
So, with the recent threads we've participated in, I've decided to
announce a decision of mine.
Any class that I have added test cases that have gotten to 100%
coverage, I have decided to take ownership of. Any change that is
done to such a class *must* have a test case that keeps the coverage
at 100%. This doesn't mean that the code will automatically work
perfectly all the time. But if something *is* added that makes the
coverage fall below 100%, it means the class is *not* fully tested,
and that is a big problem.
The classes that fall into this category are:
org.ofbiz.base.concurrent.TTLCachedObject
org.ofbiz.base.json.JSONWriter
org.ofbiz.base.lang.ComparableRange
org.ofbiz.base.util.IndentingWriter
org.ofbiz.base.util.TimeDuration
org.ofbiz.base.util.collections.FlexibleMapAccessort
org.ofbiz.base.util.string.FlexibleStringExpander
The above also have 100% coverage in their tests.
The following classes are not fully covered, because of either
difficulty in throwing exceptions at the right place, or non-blocking
algorithms that are hard to write correct multi-threadeds tests for.
The numbers stand for line coverage/branch coverage.
org.ofbiz.base.concurrent.TTLObject(91%/94%)
org.ofbiz.base.conversion.Converters(89%/86%)
org.ofbiz.base.util.UtilObject(93%/100%)
org.ofbiz.base.util.ObjectType.simpleTypeConvert has full line
coverage. The only thing not covered is a single branch, the one at
the end of the method that calls Debug.infoOn().
These additional 3 classes and method I am also going to take
ownership of.
While Converters has good coverage, the actual converter
implementations do not. This is something I will be fixing in the
coming days.