Date: Wed, 06 Dec 2017 05:30:00 +0000
<p>Sponsors:</p><ul> <li> <a href="https://rollbar.com/fullstackradio">Rollbar</a>, sign up at https://rollbar.com/fullstackradio to try their Bootstrap Plan free for 90 days</li> <li> <a href="https://codeship.com">Codeship</a>, check out how they performed in <a href="https://codeship.com/forrester-wave-continuous-integration-report">Forrester's latest Continuous Integration Tools report</a> </li> </ul><p>Links:</p><ul> <li> <a href="https://www.refactoringrails.io/">Refactoring Rails</a>, Ben's refactoring course</li> <li> <a href="https://www.codequalitychallenge.com/">The 30 Day Code Quality Challenge</a>, Ben's free 30-day code quality course</li> <li> <a href="https://www.youtube.com/watch?v=DC-pQPq0acs">Refactoring from Good to Great</a>, Ben's popular refactoring talk</li> <li> <a href="https://refactoring.com/catalog/decomposeConditional.html">Decompose Conditional</a>, an example of "make the implicit explicit"</li> <li><a href="https://refactoring.com/catalog/introduceParameterObject.html">Introduce Parameter Object</a></li> <li><a href="https://refactoring.com/catalog/replaceConditionalWithPolymorphism.html">Replace Conditional with Polymorphism</a></li> <li> <a href="https://www.youtube.com/watch?v=5DVDewOReoY">Chasing Perfect</a>, Adam's talk about refactoring with polymorphism</li> <li><a href="https://refactoring.com/catalog/introduceNullObject.html">Introduce Null Object</a></li> <li><a href="https://refactoring.com/catalog/replaceMethodWithMethodObject.html">Replace Method with Method Object</a></li> <li> <a href="https://codeclimate.com/blog/why-ruby-class-methods-resist-refactoring">"Why Ruby Class Methods Resist Refactoring"</a> from the Code Climate blog</li> <li> <a href="https://martinfowler.com/articles/collection-pipeline/">Collection Pipeline</a>, Martin Fowler's article on replacing loops with array transformations</li> <li> <a href="https://www.youtube.com/watch?v=crSUWtRYw-M">Curing the Common Loop</a>, Adam's talk on refactoring loops and conditionals</li> <li> <a href="https://adamwathan.me/refactoring-to-collections/">Refactoring to Collections</a>, Adam's book and video series</li> <li> <a href="https://www.destroyallsoftware.com/talks/boundaries">Boundaries</a>, Gary Bernhardt's talk about OO, functional programming, and immutability</li> </ul>