http://www.perlmonks.org?node_id=446601


in reply to Re: How do you master Perl?
in thread How do you master Perl?

Tests is a coding safety net. Its cousin is designing code for testability / debuggability, using assertions (even contracts are here but this is way too much for beginners).

Source control is coding tools safety net. Its relative is keeping track of bugs/features, for example.

Depends on how you look at them. I see testing and source control gain extra utility when you look at them together. Tests demonstrate bugs and features. Source control track them over time.

For example if you're doing TDD you're writing a failing test before each bug fix or feature. If you do a commit each time your code goes from a failing test to a passing test then you will track each new feature / bug fix as it is completed.