<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>DHH has done a blog post which explains a bit better his argument that TDD/DI can make code worse: <a href="http://david.heinemeierhansson.com/2014/test-induced-design-damage.html">http://david.heinemeierhansson.com/2014/test-induced-design-damage.html</a></div>
<div><br>
</div>
<div>It makes a lot more sense now and it’s a very rails-specific argument. The gist of it is:</div>
<ul>
<li>The ports-and-adapters model of decoupling business logic from frameworks doesn’t work well with Rails controllers. </li><li>It requires too many extra objects and classes which end up obscuring the original intent, e.g.turning a 5 line controller method into a handful of business objects and callbacks.</li><li>There’s little point in trying to unit test controllers directly. You should only test controllers at integration level and above.</li></ul>
<div>I can see where he’s coming from and I sort-of agree to a point. It’s definitely worth watching the Jim Weirich presentation he talks about to put it in context (<a href="https://www.youtube.com/watch?v=tg5RFeSfBM4">https://www.youtube.com/watch?v=tg5RFeSfBM4</a>). </div>
<div><br>
</div>
<div>The tight coupling of framework with business logic and persistence is arguably a big reason why people like Rails. If you completely decouple your business logic from the framework are you losing a lot of what makes Rails so attractive? Personally I’m
 not a massive fan of Rails because of tight coupling so I’m probably not a good person to answer that, but it’s an interesting question. I think some of it is definitely linked to the scale of the application in question, but that’s a general Rails problem
 too :-/</div>
<div><br>
</div>
<div>Stephen</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Sleepyfox <<a href="mailto:sleepyfox@gmail.com">sleepyfox@gmail.com</a>><br>
<span style="font-weight:bold">Date: </span>Friday, 25 April 2014 14:25<br>
<span style="font-weight:bold">To: </span>London Ruby Users Group <<a href="mailto:chat@lists.lrug.org">chat@lists.lrug.org</a>><br>
<span style="font-weight:bold">Subject: </span>[LRUG] Dependency Injection and DHH<br>
</div>
<div><br>
</div>
<div>
<div>
<div dir="ltr">
<div class="gmail_default" style="font-size:small">I'm wondering what those who were at RailsConf and listened to DHH's keynote - or have watched the video:
<a href="http://www.justin.tv/confreaks/b/522089408">http://www.justin.tv/confreaks/b/522089408</a> - thought about his description of dependency injection making code worse?</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">Fox</div>
<div class="gmail_default" style="font-size:small">--</div>
<div class="gmail_default" style="font-size:small">"What does the @sleepyfox say?"</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
</div>
</div>
</div>
</span>
</body>
</html>