4.6. Automate tedious tasks

There is a lot of work in software development that is tedious or errorprone if done manually, or that is simply too complex for human cognition. There is, for example, the management of dependencies of the elements of software. Even if you rigorously apply the concepts of information hiding and explicit imports and exports at all levels of your system, it will probably be impossible for anyone to exactly predict the effects of changes to one element. (For more than five related elements at one level it will be hard, for more than ten, it will virtually be impossible.) This is the domain for automation.

ComPact already takes care of a lot of tedious tasks. It



Furthermore, you can easily integrate all the command line oriented tools of ComPact into scripts and makefiles, thus establishing a even higher degree of automation for your projects.