> This is why we pair program. Eventually everyone on the team has seen each > bit of code in the app (or at least most of it) and when new people come > along they get to sit with someone who knows the app well and can reinforce > the design expressed in the tests. Regardless of skill level they can then > maintain the app, because face to face communication works better than > written documentation.
That's great, but it's not a solution for everything. What happens when a consultancy develops and delivers an application to a customer, who will maintain it in the future? What happens to applications which just don't get that much maintenance? I was just contacted this week about an .NET assembly I'd built five years ago that interacts with Adobe Connect's API. I didn't remember whether it had the ability to change a user's password in an external system, because it wasn't part of the specification (and therefore wasn't part of the test). Turns out that the API call used to create a user also works to modify that users, so the user of the assembly can just use the same method call. You seem to be staking a lot on saying "no one ever needs comments, anywhere, for any reason" and I just don't see why that's the hill you want to die on. Comments are not the exclusive solution to writing maintainable code, no one's saying they are, but they do provide something very simple that TDD and pair programming do not - the ability to explain your intent to any future reader of that source code. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:350174 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm