Source control becomes vastly more helpful when sharing modules between projects - if you break another project, source control is what will let you quickly and easily roll back the problematic changes (or just show you what all the changes are so that you can figure out why it broke the other project and find a way to make them both work).
The other tool which becomes much more important for shared modules is a good set of automated test programs. (The Test::* modules from CPAN are the most common way of doing this in the Perl world, but a set of toy test apps can work just as well.) With good tests which cover all documented behaviour of the module, you can be reasonably certain you won't break other projects by verifying that your test results are the same before and after any changes. (Aside from the results of new tests added to verify that the changes themselves work correctly, of course.) | [reply] |