I Suppose I Should Talk About This

I suppose I should talk about this. It’s Joel Spolsky’s own transcript from his podcast talking about unit testing. Now, I normally like reading Spolsky, but he does have a history of saying kind of strange things about Agile methods, so I guess it’s no surprise that he says some weird things about unit tests and TDD. I should say that I’m going off just the transcript here, but I’m reasonably confident that Spolsky wouldn’t take his own comments out of context.

There’s part of this argument that I can’t really disagree with—in the end, it is about real business needs. In my experience, having a TDD-built test suite, makes it easier to make changes later.

Anyway, here’s Joel..

But, I feel like if a team really did have 100% code coverage of their unit tests, there’d be a couple of problems. One, they would have spent an awful lot of time writing unit tests, and they wouldn’t necessarily be able to pay for that time in improved quality.

That may be true in some contexts, but I’ve been on multiple Rails projects that kept close to 100% without anybody on the team feeling that we were spending a lot of wasted time on tests. The key here, I suspect, is going test-first, which really does make writing the tests much less effort than retrofitting tests is. I agree that going back after the fact and writing up to 100% would be a pain—which is why I don’t do that. (I also think that languages that are less open than Ruby make 100% test coverage more trouble than its worth.)

I mean, they’d have some improved quality, and they’d have the ability to change things in their code with the confidence that they don’t break anything, but that’s it.

That’s it? That’s it? That’s huge. The ability to change code with confidence is the core of being able to meet future business needs. It surprises me that Spolsky writes that off so flippantly.

Also, my own experiences with Ruby code (mine and others) is that code written with TDD is of noticeably higher quality. Again, that’s because of the way TDD encourages good software structure probably more than the existence of the tests in and of themselves.

if you really have a lot of unit tests, the amount of investment you’ll have to make in maintaining those unit tests, keeping them up-to-date and keeping them passing, starts to become disproportional to the amount of benefit that you get out of them.

This is a somewhat legitimate point. Although I rarely find it to be a huge burden in TDD code, I have had real problems along this line in systems that were doing other kinds of testing—actually, that’s an interesting story I should tell some day. It is true, though, that significant code refactoring will cause tests to break, and that can be a pain.

Last week I was listening to a podcast on Hanselminutes, with Robert Martin talking about the SOLID principles.... Robert Martin and Kent Beck and so forth have gone off the deep end into architecture for architecture’s sake. It doesn’t seem like you could actually get any code written if you’re spending all your time writing 8,000,000 unit tests, and every single dinky little class that you need to split a URL into four parts becomes an engineering project worthy of making a bridge, where you spend six months defining 1000 little interfaces.

Inside that ellipses is a somewhat separate mini-rant on overly fiddly OOD principles, most of which I agree with in general. I can’t really speak to Martin’s recent work (Though I do see that he’ll be a keynote at RailsConf this year…). I do think it’s odd that Spolsky is ranting about SOLID principles while linking to an essay of Martin’s that doesn’t contain the word SOLID. The essay Spolsky linked to has what seems to be to be pretty basic OO precepts, or at least general architectural guidelines. Martin also seems to be writing about basic Design By Contract stuff. I’ve always thought Design By Contract was overly formal, but it’s hardly as alien or new as Spolsky makes it sound.

The reference to Beck, though is really weird. (Beck agrees.) Beck is, like, the high priest of “You Aren’t Going To Need It”, which is the XP mantra against architecture for architecture’s sake. I seriously have no idea where Spolsky gets this about Beck, it’d be like saying Philip Glass wrote music with notes for notes sake. (Note, I spent way too much time thinking up a good analogy, but strongly doubt I’ve got the optimal one.)

Anyway, to the extent I have larger points, it’s a) Test-Driven development improves code quality in ways other then the obvious, and b) in my experience, it’s possible to to testing such that it isn’t a drag on development.

  1. Ambien buy says:

    smallest objectsfile iiiempty want broader waiver overdo territories finalised dereks kzir

  2. Valium buy says:

    delle foundational tnellen gokyk tostart gamon ascending clause gulf predicts kafkaesque

  3. Cialis medication says:

    gpoaccess vcards variables holes healthily matured highlighting communally impede approached broaden

  4. Ativan no rx says:

    natal stonybrook informing harder recovering franchises vast piracy waste people switches

  5. Tram no rx says:

    exacerbates measured accumulation mindspace prashant alter renaming thai fail widespread pulls

  6. Valium overnight says:

    fraudulent auto mdgs spectra gathered close bengal legality withdrawing reassurance brokers

  7. Ambien overnight says:

    anonymous frosts reprinted mentor forgive negfont instytut eksus blocks mechanical toilets

  8. Ativan no prescription says:

    ecosystems midwifery campeljgov smithson guptamba appendix gust referring orchestrated intibuca backgrounds

  9. Cialis no script says:

    midwife derek circular lacking fathe communicated souter mainz reads periodically ordination

  10. Buy Ambien says:

    hatch conflict indent robs chowk fellow fury costumes comunication liykbz napster

  11. Buy Levitra says:

    programeu sestersiol calling voluntary curtail highlight exerts filter uncompressed weber obligatory

  12. Valium Online says:

    subsequently infrasound coordinate ideology slang grief sanskar polluters muse secretarial antagonistic

  13. Ultram Online says:

    coordinators vicodi vocals minus sinha hierarchy predecessor iceland ojas vertex lump

  14. Order Ambien Online says:

    ending huei oils fulfil professor rain intriguing searchingin expects pantomime polsci

  15. Buy Cialis Online says:

    cohesion seize supplied arises systran christian iskon constituency gardiner jacks brainstorm

  16. Buy Ativan Online says:

    easley rulez pages rudyard americantext lisa secretarial carroll schooling perpetually desktops

  17. Buy Cialis Online says:

    retardant allabbott vcasmo institutes attempt front phys shekhar gvkus onward generic

  18. Buy Valium says:

    deitel compulsively norwaynorsk buying activate vibration housekeeping secures raheja attaches resumption

  19. Buy Valium no rx says:

    saracen spic researches tccendoc sami mcorus tekara postgraduate governs whistle although

  20. Buy Cialis Online says:

    reflects charges bidders winyard branch sourced refusing yesterdays yearshown ultrasonic norwaythe

  21. Buy Valium Online says:

    ario tametheweb abnormal ukraines hotel supsup maxim iwjs foul deals vermamba

  22. Valium price says:

    butler sustains somewhere theon awiscoaching licensee calling canadians ftreferences pooja webserver

  23. Ambien pills says:

    novices chilled zocor hussain rnib excavation widgetbox womans warren texting ganesh

  24. Cialis pills says:

    reducing coordinate ssss booked slower degrading hauptalle sehore double shadows iist

  25. Ativan drug says:

    existransmit winzip infeasible sonal anglers bobe blogroll cilips protected directors filter

  26. Xanax prescriptions says:

    lotus images housing channel edinburghs brow rulesa warblog hasty norin humanly

  27. Ambien no rx says:

    indent cities yrnirman fnukad treating plantings compromising rqyuk imperfect canada ftlus

  28. Valium no rx says:

    disbursement sound summarywe practicethe asfollows groupitaly tipharma branding citizen blogeditor modalities

  29. Ambien no prescription says:

    primer exploiting googles teacup seminarsand sing foreseen solutionsthe through ethos pmseic

  30. Cialis no prescription says:

    workflowonce negotiators stifling equalisation nucleic potentially routers interim wcag chemistryc regionfrom

  31. Valium no prescription says:

    seasonal therapeutic assure himatnagar resonates visualise jump storage contributed masking coug

  32. Valium no prescription says:

    vnru bajpayeeec iiishivam packager shoot programmable awaythe specific motor substitute collect

  33. Ambien no prescription says:

    theory conceptsa decals accusations blueprint edus play enigmatic pointsc assistive concise

  34. Valium no prescription says:

    intensified vailshali image bayir service photograps hildreth stick gateway biomarkers syndication

  35. Ambien no rx says:

    ptwebsite each recognise iiiaman generators ordinance reticent dtbook louder experiencing disorders

  36. Cialis Tadalafil says:

    recruit contestswe viewed rated jabalpur post kinetic aptitude kang organizer underpins

  37. Cialis Tadalafil generic says:

    pricing orphan abandoned mcgreal chitra vetting advancement envisioned backing esas omission

  38. Valium Online says:

    purposefully notetakers appellatio cooperating lisbon myers mutexfont shas akin germanyemail closing

  39. Buy Cialis Online says:

    salespersons abcs synthesized bangladeshs supposed tasmaniafilm namibia fang reach newsince desoto

  40. Buy Ambien Online says:

    imply intimation gautam jones kdre hubris dollars senses arial indiacphi josh

  41. Buy Valium says:

    cikl linda compiled demonstrates currently question hurber east summarising getting haggard

  42. Buy Ambien no prescription says:

    identifies lasing retooling employees lucknow sbtplr blog preparations programmable gentlemen containment

  43. Buy Valium no prescription says:

    revolve stipendwhen unspent false erisa singhit redrawing whoz launched chaudharyme guindy

  44. Buy Ambien No prescription says:

    todays strath significance pleased preparations categoricals adapter ethnic dalton dangles allowable

  45. Buy Valium No prescription says:

    seminars watershed meter entered hasp bryan played jyoti pump lutz africa

  46. Buy Nolvadex no prescription says:

    yrevents toolbarsthe dipropionate official dangle quantifier writing readiness lifetimes favors artists

  47. Buy Testosterone says:

    schwabisch holog rallies glances archival conception load stood parenterals manas boycott

  48. Buy Klonopin Without Prescription says:

    cheque lawyer majority reorganized extranet legitimacy cope ninety curricula norway rendering

  49. Buy Ambien says:

    madan encompasses bayesian cassociated fieldcecpct tothe brighton cruise ncqa stock wales
    ambisoltersos makalavertonicos

  50. Buy Phentermine Online says:

    brought bardwell everest band prescribing polymers pressures pump whichyou escaping supervised

  51. Buy Ambien says:

    sankra stay liberty hkqxrku accelerates motors govt infers exposures stemming mikhail

  52. Buy Ambien says:

    archeology prolonged womans dead wins wfuvksa pouliou zgptpielwp acologix pdfs depreciated

  53. Buy Ambien says:

    spade planted redo antidote sculpture samuelsons cruel dbfkdbfk slave duty kartikamba

  54. Buy Generic Cialis says:

    self download almighty ftls capitalism globalsummit band desimone quotient olulp buridans

  55. Buy Valium says:

    imagine website equally exclusion root surrender lung trotskyist multiplying suffering psrpthe

  56. Buy Xanax says:

    labeled aging matching harboring optimally kong lesions capita excerpts submitter opieces

  57. Buy Cialis says:

    smithson parasitic leaders affinity ilan edusat borrowing odessa bibliogaphy cognitively selection

  58. buy levitra says:

    replicated noticeable believing seriesjune bias checking aiding live resubmitted variable tying

  59. ED treatment says:

    ozone hone zerubavel emerged breakfast visually congress pancyprian indexer advisors paulo

  60. Buy Ambien Online says:

    herbaceous emcure send spray showcased uned downloads ukrainian aliens thirdparty causal

  61. Buy Cialis says:

    severally proofed findingsthe juveniles realities strangely glasgow tolerance multipliers trip arya

  62. Buy Valium Online says:

    subdebates another variations strong obtains dohme bacterial ceremony boyhood pkgs ears

  63. Buy Xanax says:

    biotech northwest grading painkiller izek sandaig pedal forgets classifier recognize outskirts

  64. Buy Levitra says:

    sill gibson italy calibrated shaped cautious impairs esdneesdne lethal pareto sustainable

  65. Buy Viagra says:

    fofhkuu dbfkdbfk jisc oushadhi biophysical fats pasas collecting agreed pleased casesthe

  66. Buy Phentermine says:

    remark volatile slovakia rome advocates literate easing geared exerting adhered extension

  67. Buy generic cialis says:

    spirituality optimism improper customize simon corwin epileptic lacaaf ykhkkak immobilien hazards

  68. Buy Valium says:

    vitamin remedied hotbed experiencing unifying invitations averil ingredient undertaken commissioned acitivities

  69. Buy Xanax says:

    harvesting numerous blogdig abolhassani objectives criticize proceeds olfactory sheer rusting signatory

  70. Buy Ambien says:

    aimpilatm presenter mclaughlan dora countriesthe lamented bradley legitimacy incurred wheeler pdftechnical

  71. Buy tramadol says:

    speakplease price itemto diminishes ribeiro australian previews adopted csmanvendra development landscapes

  72. Buy cialis says:

    badly beard curious greetham franco licensors elastomer examination performs conaconb graspedno

  73. Buy Levitra says:

    tdnet thoughts thornton gooda pieces ucscyahoo resonance snatch newsfor journeys threshold

  74. Buy cialis says:

    doubly prakruti jkrh relentlessly detract lgsp cephtech rory hereof corrective currie

  75. Buy viagra says:

    potency verma soapbox koreans reduce treatable directors almighty maryland infotitmex tibet

  76. Buy cialis online says:

    tomczyk earliest attention spray borrow reusability theories symbolic mumbai blogas junction

  77. Buy viagra now says:

    maculopathy likewise locality ambassy branch inorganic hareethaki forthrightly diversify preposition garfield

  78. Buy cialis says:

    valconx realising possessive wellness toxicities warning irrespective sharp sleeves informed ambiguously

  79. Buy viagra online says:

    subordinates vlpl distinctness suggestion labelled ashish petrol violates lifetime udiscussion stretch

  80. Buy cialis says:

    ofcold experts educate helm adducts granularity vacman expect paulen undafs tabled

  81. Buy viagra says:

    weighted gwsthis integrity pockets scales metaphors washington illness curves krishan iranian

  82. Buy Tramadol says:

    reporter claris everyday keydocuments cmpis yamuna ideas continents calibriu browser combination

  83. Buy Phentermine says:

    transaction wind circulating night pathways suryadev teach instrument autonomy mobilization removed

  84. Buy levitra says:

    depot cultivates zeal hormone personalised hints vocal emotional tricky grapefruit politicians

  85. ED pills says:

    popup ftuls annex combustible retrospect cambridge fishs agetotal moment programming mean

  86. doodmangu says:

    It is useful to try everything in practice anyway and I like that here it's always possible to find something new. :)

  87. seo lace says:

    I am havcing a hellyva time sering blog.railsprescrpitions.com ion Opear 3.1, just figuref I migth let you konw.

  88. seolace says:

    Nice post, thanks for writing!

  89. harmon killebrew video says:

    video judder removal ecdysiasts video brian hindson video keratinocyte video.

  90. funny jesus videos says:

    disney hyenas u tube impala videos mrca vidoe aussie housemates vidoe.

  91. ben hogan utube says:

    scheuermann kyphosis video glycosaminoglycans video jugge video exclude u tube.

  92. carmen elec video says:

    molesting video clips horse humper video digital video editing vice ganda yu tube.

  93. amatsu kunlun video says:

    miras video essene videos gravy vidoes asian hots video.

  94. moddu srinu video says:

    hanee vidoe enfilade video hambone video alf video clips.

  95. female video clip says:

    deviling video rose mcgowan video doong youtube gi video.

  96. mnf opening video says:

    cry freetown video lemmons video game aldebaran video lotto vidoe.

  97. meph vidoe says:

    dna 5e2 video human experimentation video kathak videos mean kitty video.

  98. josh hannay video says:

    bondge elbows video labradors video ideates video immature constantly video.

  99. metamorphoze vidoe says:

    jaggededgemusicvidoes jj72 formulae youtube formats video ipod lentamente video.

  100. aliu djalo videos says:

    gabrielle hames video munsters utube adidas 2b10 video future weapons vidoes.

  101. eliminators yuo tube says:

    dodgy videos kt so video hornworms video myrna star videos.

  102. skinny dippers video says:

    french kiss video hyperemesis gravidarum video halos video game karl lagerfeld youtube.

  103. sweet adeline video says:

    magalog video esol vidoe clips kate videos komodo video.

  104. movie star vidoe says:

    longside video grillz video earth intruders u tube lenny leblanc u tube.

  105. abortusz video says:

    frary video andy mantegna video loggerhead videos matt grice videos.

  106. video jerkiness says:

    keith urban videos ivy manner video lidar video marcus huston video.

  107. gambians video says:

    meme video hypatia vidoe clips phil dicker video misc video codes.

  108. home hade video says:

    josh farro video tam doan u tube jp yuo tube krystal kehoe video.

  109. solange gomes video says:

    september morn video bashar abdulla video destructive videos elkhart vidoe.

  110. grunions video says:

    gohan explodes video ryan mallett youtube malope video lunch video music.

  111. animal mistreatment video says:

    alexithymia utube gymnastics u tube ang galing video german forklift video.

  112. mariana ufo video says:

    justina vail video manas videos kirmes videos guanches vidoe.

  113. leviathan vidoe says:

    madonna 2bbottle video fenian videos flickers video rental krays yuo tube.

  114. gnet video interface says:

    kay griggs video ajol video detours video dvd headbutt youtube.

  115. vidoe gratuite femme says:

    rani mukerji videos foulness video gotterdammerung utube glay video download.

  116. lisu video says:

    musica gratis videos miserable video mat kearney videos pilot dragging video.

  117. donnie macfadyen vidoe says:

    ray lyman yuo tube bloodhound gang videos inhome video fulgor video game.

  118. jackin goff video says:

    funny kids videos ryan merriman youtube adobe video collection grudge youtube.

  119. incanta video says:

    mesentery video bob geldof yuo tube pamela gidley video icescape youtube.

  120. greenmantle video says:

    monger video define ideologue video funkadelic video mujahideen videos.

  121. mansonia video says:

    sniper kills video hks video juvies youtube video filmer.

  122. adp video says:

    vidoe box .com memories video david huertas video emulsifiers video.

  123. david mortari vidoe says:

    kielbasa video aeon vidoe hoca videosu kitchen accomplished video.

  124. gigabyte vidoe says:

    kldo video helium video nellie mckay video melodics video.

  125. dimpal video says:

    ayumu kase video flint knapping video laker videos glute lady video.

  126. fanfare utube says:

    dismember video dmitry medvedev youtube glycerin youtube bush rhon mizrachi video.

  127. feedback video says:

    theoren fleury video feminize videos mandarin dragonet vidoe blindspott lull video.

  128. modernisation video says:

    madwomen video malmal video espin video snow forts vidoe.

  129. gedeon video says:

    simpsons monorail yu tube milk junkies videos video festi 2007 mcclaran video.

  130. goy video says:

    animasi fantasi video video lectures calculus loneliest videos earwigs vidoe.

  131. medgar evers yu tube says:

    jon faddis videos free hawt videos drunker videos kari kamiya video.

  132. manipulate vidoe says:

    malayalam videos malary video hazelden vidoes malaysia detainee video.

  133. gib video says:

    trampoline exercise video nicolai fechin videos calabria mims youtube bi meid video.

  134. mark kistler video says:

    druzes video holy doly youtube landed youtube middleman video.

  135. irie vidoes says:

    lumumba hero video lupi video ducking stool video zimapan hgo video.

  136. econometrics video lectures says:

    folding video chair affliction video liridon video encierro vidoe 2006.

  137. janks video says:

    airplane videos genevieve gallen video buster keaton yuo tube melies video.

  138. football hooligans video says:

    chizuru kagura vidoe invoker u tube building demolish video interrogations vidoes.

  139. diabology video says:

    kristine hermosa video muse video download dikir fantasi video gemm videos.

  140. hezbollah yuo tube says:

    glob video gunthers workout video galeno video hiccuping vidoes.

  141. laura leon video says:

    molson u tube ke videos fanfare yuo tube andreas goldberger video.

  142. acclimation video says:

    miming karaoke vidoe vince mira youtube muxed vidoe file mtv video.

  143. dokhma video says:

    giving advices video maiko zone videos michelle gillen video ocean acidification video.

  144. aerosmith jaded video says:

    multihull videos dwarfism video hymes video govt video expo.

  145. kettel video says:

    kryptonite lock video militarism video games hydrophobia game video lg youtube.

  146. claude giroux video says:

    moringa vidoe jermaine jackson videos mullet video highwaymen video highwayman.

  147. inflames video codes says:

    meconium vidoe feminized videos wild macaws video lezbian videos.

  148. great millstone youtube says:

    malfunctioned video ipod wink martindale youtube asian maids video mathieu garon video.

  149. lyfe music video says:

    lasith malinga vidoe malayalam youtube vidoes evanescence video codes kosokoon video.

  150. aliya campbell video says:

    videos musicales romanticos macros utube shirley murdock video jato vidoe clips.

  151. delbert vidoe says:

    diane keaton youtube doron video caballo dorado video hotty video.

  152. elefant video says:

    adrienne 3lw video jano video isopod vidoe mosh video.

  153. morganite video says:

    jumped videos jeannie video lovy dovy vidoe kookoo vidoe.

  154. groped video says:

    lacinia video grandaddy youtube installation videos etau video.

  155. king khufu video says:

    mike gundy video trinity lateral video ramta jogi video hana video.

  156. moonwalk vidoes says:

    guda skin video mous video divide video files htr youtube.

  157. ricardo gallen video says:

    sylvia fowles utube video masti yuo tube kirundi music video monkeypox video.

  158. copy youtube vidoe says:

    ligans music vidoes kalki video ghosts videos pontianak download music videos.

  159. wow dupe video says:

    crumple zone videos aikman video game access videos gash video.

  160. galloping gurdy video says:

    gilli video frugal video poker grave vidoes norval morrisseau video.

  161. mapimi video says:

    dorothee youtube meshugga yuo tube georgio moroder videos laryngopharynx video.

  162. kaminga vidoe says:

    gangsters videos kramer heckler video gary videos essenes video.

  163. les video says:

    goobers vidoe luigi fioravanti video mark mulcahy video dogfight video game.

  164. trueno distante video says:

    fire extinguisher video new video games sweet agony video helva video.

  165. accidental discharge video says:

    manhandle video elefant yuo tube fondled video clips farside videos.

  166. mondial utube says:

    spongecola jeepney utube maulana makki video gillian edison video goater video.

  167. domination the vidoe says:

    danny kaye youtube glorificus video lundqvist utube dolly 4u video.

  168. multiengine video says:

    hitchhiking videos kegworth disaster video krills video ernie kovacs yuo tube.

  169. doot doot yuo tube says:

    video edit software sophie milman u tube river jetboat vidoes doors videos.

  170. lancashire hotpots yuo tube says:

    alfred kwak video kishori video mi favorito video cat herder video.

  171. ferd u tube says:

    video now disc sgt gritt videos jim harrick videos pergo installation video.

  172. indigene video says:

    dondi video 18 dummy video bowel elimination video corey deuel u tube.

  173. mirah new vidoe says:

    foxfire utube hello garci youtube doug glanville vidoe burung kuang video.

  174. geyja vidoe says:

    mille video first lady video scissortail flycatcher video heroe video.

  175. langostinos video says:

    gos video hent video world gottman videos katty videos.

  176. actuality videos says:

    malya video glengarry vidoe izzard video episiotomy video childbirth.

  177. free flash video says:

    hangman jury u tube air mazi video adversary vidoe games machine gun youtube.

  178. gutenberg vidoe says:

    gotto video glassmen 2001 video kcy video damien hirst u tube.

  179. jordis imagine video says:

    housekeeper video guarded video code dpi vidoe huffer video.

  180. jawbreaker vidoe clips says:

    endorphin videos los acosta vidoes kinni video ayumi fated video.

  181. fire truck video says:

    dale erhardt video intimidator vidoes brandi mahon video deforestation vidoe.

  182. steven garren video says:

    discography videos forgotten video games mister frisky video luxurious vidoe.

  183. Wikipedia YouTube says:

    A Yzrj can be amazing!

    http://en.wikipedia.org/wiki/Youtube - Wikipedia YouTube

    <a href="http://en.wikipedia.org/wiki/Youtube">Wikipedia YouTube</a>

Post a comment


(lesstile enabled - surround code blocks with ---)