Version Control & Transparency¶
Code is not only a list of instructions. Code is a textual representation of logical relationships.
In that, if such relationships are obscured, the expected behavior of “a” system is also obscured, and usually unknown.
Moreover, standardization and modularization of such system is unviable and practically impossible, for no interface contracts can be clearly defined.
Now, when all is transparent, descriptions and documentation can become long and verbose.
Keeping up with “backend” changes is a difficult task.
This difficulty is only exposed when the system is made transparent. The difficulty (or complexity) is always there, but, since only the “frontend” or user-facing features are shown, that it is not observable.
Version control systems or artifacts are born naturally, out of necessity, in the development process. It is auxiliary and cna, then, be considered a tool. And as with every too, its use, effectiveness, flexibility, efficiency and quality can be assessed. Various tools can be compared, rated and sorted according to this criteria.
The version control system is then a choice. And a choice with big impact on the output artifacts (code, application, …) quality.