The Stack Overflow podcast is back! Listen to an interview with our new CEO.
    Mod Removes Wiki by Thomas Owens
2 added 2 characters in body; deleted 18 characters in body
source | link

I've been thinking about this a lot, even though I do not practice TDD that much myself. There seems to be a (strong?) positive correlation between code quality and following TDD.

1) My first take is that, this is (primarily) not due TDD adding "better quality" into code (as such), it's more like TDD is removing thehelps weeding out worst parts and habits, and so indirectly increasing the quality.

I would even advocate that it's not the test themselves -- it is the process of writing those tests. It's hard to write tests for a bad code, and vice versa. And keeping this in the back of the head while programming, eliminates a lot of bad code.

2) Another point of view (this is getting philosophical) is following the mental habits of the master. You don't learn to become a master by following his "external habits" (like, a long beard is good), you must learn his internal ways of thinking, and this is hard. And somehow making novice(novice) programmers follow TDD, align their ways of thinking (about programming) closer to those of master.

I've been thinking about this a lot, even though I do not practice TDD that much myself. There seems to be a (strong?) positive correlation between code quality and following TDD.

1) My first take is that, this is (primarily) not due TDD adding "better quality" into code (as such), it's more like TDD is removing the worst parts and habits, and so indirectly increasing the quality.

I would even advocate that it's not the test themselves -- it is the process of writing those tests. It's hard to write tests for a bad code, and vice versa. And keeping this in the back of the head while programming, eliminates a lot of bad code.

2) Another point of view (this is getting philosophical) is following the mental habits of the master. You don't learn to become a master by following his "external habits" (like, a long beard is good), you must learn his internal ways of thinking, and this is hard. And somehow making novice programmers follow TDD, align their ways of thinking (about programming) closer to those of master.

I've been thinking about this a lot, even though I do not practice TDD that much myself. There seems to be a (strong?) positive correlation between code quality and following TDD.

1) My first take is that, this is (primarily) not due TDD adding "better quality" into code (as such), it's more like TDD helps weeding out worst parts and habits, and so indirectly increasing the quality.

I would even advocate that it's not the test themselves -- it is the process of writing those tests. It's hard to write tests for a bad code, and vice versa. And keeping this in the back of the head while programming, eliminates a lot of bad code.

2) Another point of view (this is getting philosophical) is following the mental habits of the master. You don't learn to become a master by following his "external habits" (like, a long beard is good), you must learn his internal ways of thinking, and this is hard. And somehow making (novice) programmers follow TDD, align their ways of thinking closer to those of master.

1
source | link

I've been thinking about this a lot, even though I do not practice TDD that much myself. There seems to be a (strong?) positive correlation between code quality and following TDD.

1) My first take is that, this is (primarily) not due TDD adding "better quality" into code (as such), it's more like TDD is removing the worst parts and habits, and so indirectly increasing the quality.

I would even advocate that it's not the test themselves -- it is the process of writing those tests. It's hard to write tests for a bad code, and vice versa. And keeping this in the back of the head while programming, eliminates a lot of bad code.

2) Another point of view (this is getting philosophical) is following the mental habits of the master. You don't learn to become a master by following his "external habits" (like, a long beard is good), you must learn his internal ways of thinking, and this is hard. And somehow making novice programmers follow TDD, align their ways of thinking (about programming) closer to those of master.