<div dir="ltr">Great talk, mostly about testing though, but very clear explanation of the different types of tests, and when and for what to rely on them.<div><br></div><div>I didn't agree too much with his dependency injection arguments, since they are only valid for staticly typed languages without monkey patching facilities. As the ruby guy mentioned, a solid framework (like rspec) makes monkey patching for testing very solid and the pro is that it reduces the impact of the tests on your code (in the sense of having to change code to acomodate testability, like with dependency injection).</div><div><br></div><div>I have another awesome talk to suggest that bonds both that we've posted, Boundaries by Gary Bernhardt (<a href="https://www.youtube.com/watch?v=yTkzNHF6rMs">youtube, talk with code examples</a> 45' || <a href="https://www.destroyallsoftware.com/talks/boundaries">destroyallsoftware, just the talk 30'</a>). This one is one of my favorite ones.</div><div><br></div><div>Summary:<i> This talk is about using simple values (as opposed to complex objects) not just for holding data, but also as the boundaries between components and subsystems. It moves through many topics: functional programming; mutability's relationship to OO; isolated unit testing with and without test doubles; and concurrency, to name some bar.</i></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Apr 18, 2016 at 8:33 PM, Stephen Niedzielski <span dir="ltr"><<a href="mailto:sniedzielski@wikimedia.org" target="_blank">sniedzielski@wikimedia.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This is great! Functional programming is really awesome. Your video reminded me of an exemplary, longer form talk by the AngularJS guy on dependency seams and testing:<div><br></div><div><a href="https://www.youtube.com/watch?v=wEhu57pih5w" target="_blank">https://www.youtube.com/watch?v=wEhu57pih5w</a><br></div><div><br></div><div><div><div>It's a little longer but a life changer if you haven't thought about testability in depth.</div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, Apr 18, 2016 at 2:41 AM, Joaquin Oltra Hernandez <span dir="ltr"><<a href="mailto:jhernandez@wikimedia.org" target="_blank">jhernandez@wikimedia.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">I've come across this lovely little talk (british accent +1) that explains what is functional programming quite clearly in my opinion. Worth a watch.<div><br></div><div>Kris Jenkins: What is Functional Programming?<br></div><div><a href="https://www.youtube.com/watch?v=tQRtTSIpye4" target="_blank">https://www.youtube.com/watch?v=tQRtTSIpye4</a><br></div><div><br></div><div>Takeaway: Functional programming is about eliminating side-effects where you can, controlling them where you cant.</div></div>
<br></div></div>_______________________________________________<br>
Engineering mailing list<br>
<a href="mailto:Engineering@lists.wikimedia.org" target="_blank">Engineering@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/engineering" rel="noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/engineering</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>