It often happens to me that I participate in a programming projects. Some of them last several months, are multi-threaded, require numerous consultations, analyzes and subsequent actions that are not entirely predictable. The result is a program consisting of many classes, functions, etc. The...