<story><title>Unit testing in Coders at Work</title><url>http://www.gigamonkeys.com/blog/2009/10/05/coders-unit-testing.html</url></story><parent_chain><item><author>10ren</author><text>&lt;i&gt;One day I hope Joel eventually realizes this. Programmers who say they don’t have time to write tests are living in the stone age.&lt;/i&gt;&lt;p&gt;This kind of attitude really pisses me off. It&apos;s so confident in its condescension and name-calling, I have a little wonder that they might be right. In fact, it&apos;s just dogmatic abuse, unencumbered by an objective factual appraisal of the issue at hand. Probably, I should just remember that dogmatism tends to be inversely related to wisdom.&lt;p&gt;For one thing, the purpose of the code makes a tremendous difference: e.g. unit-testing is great for maintainability, but terrible for evolving an API (as in prototyping or exploratory code).&lt;p&gt;And thank goodness for Knuth.</text></item></parent_chain><comment><author>jerf</author><text>My position on unit testing is, &quot;Have you tried it?&quot;, followed by, &quot;No, seriously, have you actually tried to use it for a period of time, not just played with it for an hour?&quot;, which I will then follow by... wishing the programmer well regardless of how they now feel about it, because now they&apos;ve at least got some experience.&lt;p&gt;Unit testing is a big deal. Everybody should try it. Ideally, you should try it with the next project you start from scratch (or subproject as the case may be) because trying to retrofit an existing code base does not give accurate impressions. I&apos;d also point out that some things are easier to test than others, but that once you have a bit of experience sometimes even the hard ones turn out to be feasible. (For example, you shouldn&apos;t go straight to UI testing, but there are many other good testing starting points, like parsing or network communication.) You really should stick with it at least long enough for it to detect at least one bug that is a total surprise to you, because that will happen, it&apos;s only a matter of time. But once you&apos;ve tried it, I respect your opinion after that.&lt;p&gt;I&apos;ve also tried TDD, which I just could not get into, whereas unit tests I love.</text></comment>
<story><title>Unit testing in Coders at Work</title><url>http://www.gigamonkeys.com/blog/2009/10/05/coders-unit-testing.html</url></story><parent_chain><item><author>10ren</author><text>&lt;i&gt;One day I hope Joel eventually realizes this. Programmers who say they don’t have time to write tests are living in the stone age.&lt;/i&gt;&lt;p&gt;This kind of attitude really pisses me off. It&apos;s so confident in its condescension and name-calling, I have a little wonder that they might be right. In fact, it&apos;s just dogmatic abuse, unencumbered by an objective factual appraisal of the issue at hand. Probably, I should just remember that dogmatism tends to be inversely related to wisdom.&lt;p&gt;For one thing, the purpose of the code makes a tremendous difference: e.g. unit-testing is great for maintainability, but terrible for evolving an API (as in prototyping or exploratory code).&lt;p&gt;And thank goodness for Knuth.</text></item></parent_chain><comment><author>ZeroGravitas</author><text>I was amused by his comment on Knuth:&lt;p&gt;&lt;i&gt;&quot;So Knuth too disagrees with the notion that unit testing always makes you go faster. Maybe he too is living in the stone age.&quot;&lt;/i&gt;&lt;p&gt;This follows him describing writing a program, in pencil, in 1977.</text></comment>