Temporary note: moved from ChangeResistance. BackLinks fixed
Change resistance is having to change multiple pieces of similar code. Change resistance is one manifestation of OnceAndOnlyOnce violations. Change resistance is the code counterpart of update inconsistencies in unnormalised relational databases.
The idea is to disregard the duplication part of OnceAndOnlyOnce, and look only at the extra work that arises when changes are made. This in order to produce something usable as a part of a definition of the ExtremeNormalForm.
Problems:
- Change resistance varies depending on what you're trying to change (average ChangeResistance?)
- YouArentGonnaNeedIt violations may yield lower change resistance. This makes it harder to integrate ChangeResistance into a ExtremeNormalForm definition, without introducing a trade-off between this and other conditions of the ExtremeNormalForm (ExtremeNormalFormCommentary lists YAGNI as another condition)
- Is it possible to quantise change resistance to produce a comparable metric? It should suffice to be able to compare the change resistance of two alternate pieces of code - denecessitating a specific quantised metric.
I'm not sure myself, but it could be an idea to work on.