Analyzing Mendz.Graphs..Matrices

Looking at Mendz.Graphs, you can clearly see how repeatable coding patterns are celebrated. Take note, I didn't say repeating codes. I said, repeatable coding patterns. Maintenance-wise, it makes a lot of difference.

Repeating codes can be avoided by refactoring codes to be modular and re-usable. Many developers create static utility classes or extensions to contain re-usable functions/methods. Modularity for re-use help make future maintenance easier. For example, if there's an enhancement, you can just update the shared function/method and the new feature will be available to all callers. If there is a bug, you can fix the shared function/method and the fix will be applied to all callers.

Repeatable coding patterns solve problems at a different level. Some requirements can't be solved by simply applying code modularity and re-usability. There are complexities and variations that can be impractical to maintain in one common function/method. This was a problem with procedural programming languages. OOP solves this problem by allowing each complexity and variation to be contained and organized in its own class. Usually, interfaces and/or abstract classes are involved. Encapsulation, inheritance and polymorphism are employed. Mostly, these abstractions provide guidance in order to let developers deliver codes with consistency and predictable quality.

With repeatable coding patterns, developer productivity can be greatly improved. Test planning and execution can also be simplified. Trainings and/or knowledge transfers/transitions can also benefit, allowing new members of the team, for example, to easily grasp and understand how to support an application just by drawing familiarity with the coding patterns applied/implemented here and there.

Software factories, which provide guidance via source code templates and the like, use repeatable coding patterns to help assemble the software components for an application or a system.
Software factories [encode] proven practices for developing a specific style of application within a package of integrated guidance that is easy for project teams to adopt. Developing applications using a suitable software factory can provide many benefits, such as improved productivity, quality and evolution capability. -- Wikipedia
For the most part, Mendz.Graphs.Representations.Matrices use repeatable coding patterns to define different implementations of the same concept. Developers who plan to develop more concrete implementations of matrices using Mendz.Graphs can apply the same coding patterns in their projects. Of course, it's not required. However, doing so can be a jumpstarter to help get things going faster, and, very likely, done right the first time.

Comments