HN user

ngoede

124 karma
Posts8
Comments50
View on HN
Why TDD isn't crap 9 years ago

Yeah the way to write better code is to write better code. I happen to find TDD a useful tool in that but doing things badly is still possible.

Someone mentioned DI not getting rid of coupling and I agree. DI is a tool you might use but the way to get rid of coupling is not one simple thing but a process of a bunch of different tools and techniques. You can't just slavishly fallow some process and expect it to fix all your issues. You have to think and do work yourself to fix it.

That is not at all the assumption. The assumption is that you have some idea what you want a particular piece of code, method, or class to do and you write a test for a small piece of that and then after it passes you do that again.

At no point does TDD suggest you should know all the tests you want upfront. In fact I would expect if you know that then you don't need TDD. TDD is about learning what tests you need and what you want the object or code to look like one small piece at a time.

I am reasonably okay with my FIOS service. But only really in comparison to the hell that Comcast put me through. I am sure at some point Verizon will fuck it up. Too bad I am out of providers to try.

I have heard that there is the impression that the values they have gotten from private investors(i.e. VC) are higher than they would get on the open market. Which means either VCs are much better at investing than the market at large or there is a bubble(or a bit of both).

I agree adding testings around legacy code is very difficult. One thing I found very helpful when I first started working in a large mostly untested codebase was "Working Effectively with Legacy Code" by Michael Feathers.

It is really nice because its chapters are arranged around specific problems you will encounter wrapping existing code in tests so you can easily find the write chapter via the table of contents.

I didn't think their arguments that Backblaze's early drive failures(First week or what have you) can be explained by their purchasing methods. My understanding is that they still see this well after they have stopped buying from Costco ect.

The tweaktown article did talk about temperature. I think you were right to feel they were being silly with that. Temperature MAY correlate with failure but Backblaze found it did not do so within the ranges they actually see in their environment. Something about which it appears they would have more than enough data to be able to compute.

Yeah, also the big difference it seems to me compared to say the idea of legalizing drugs is that this is a market of theoretically finite supply. Therefore, as the supply shrinks it increases the incentive to find other sources. This is in contrast to a legal drug market which would include legal production and therefore, in theory, crowd out the illegal supply.

The existence of parallel construction is huge problem with the idea that the only result of gathering evidence illegally is that that evidence is excluded from legal use.

The police/NSA/whomever can still use that information to inform their investigations to discover other legal evidence that they could otherwise only have found by chance. Not to mention the possibility of just leaking information like this later to discredit or punish a political enemy.

I can get behind the message that Scrum has been problematic because it focuses too much on selling PMs on practices to the exclusion of developer practices.

XP was much more balanced in this regard. I think Scrum loses a lot in both being so free-form to start and in being so often something that PMs or management bring to the table. XP in my experience always seemed to be more of a developer lead movement and ultimately a development process without developer buy in becomes a command and control process that kills creativity and stifles feedback.