Act with Prudence / Seb Rose -- Apply Functional
... Programming Principles / Edward Garson -- Ask, "What Would the User Do?" (You Are Not the User) / Giles Colborne -- Automate Your Coding Standard / Filip van Laenen -- Beauty is in Simplicity / Jørn Ølmheim -- Before You Refactor / Rajith Attapattu -- Beware the Share / Udi Dahan -- The Boy Scout Rule / Robert C. Martin (Uncle Bob) -- Check Your Code First Before Looking to Blame Others / Allan Kelly -- Choose Your Tools with Care / Giovanni Asproni -- Code in the Language of the Domain / Dan North -- Code Is Design / Ryan Brush -- Code Layout Matters / Steve Freeman -- Code Reviews / Mattias Karlsson -- Coding with Reason / Yechiel Kimchi -- A Comment on Comments / Cal Evans -- Comment Only What the Code Cannot Say / Kevlin Henney -- Continuous Learning / Clint Shank -- Convenience Is Not an -ility / Gregor Hohpe -- Deploy Early and Often / Steve Berczuk -- Distinguish Business Exceptions from Technical / Dan Bergh Johnsson -- Do Lots of Deliberate Practice / Jon Jagger -- Domain-Specific Languages / Michael Hunger -- Don't Be Afraid to Break Things / Mike Lewis -- Don't Be Cute with Your Test Data / Rod Begbie -- Don't Ignore That Error! / Pete Goodliffe -- Don't Just Learn the Language, Understand the Culture / Anders Norås -- Don't Nail Your Program into the Upright Position / Verity Stob -- Don't Rely on "Magic Happens Here" / Alan Griffiths -- Don't Repeat Yourself / Steve Smith -- Don't Touch That Code / Cal Evans Read More Encapsulate Behavior, Not Just State / Einar
... Landre -- Floating-Point Numbers Aren't Real / Chuck Allison -- Fulfill Your Ambitions with Open Source / Richard Monson-Haefel -- The Golden Rule of API Design / Michael Feathers -- The Guru Myth / Ryan Brush -- Hard Work Does Not Pay Off / Olve Maudal -- How to Use a Bug Tracker / Matt Doar -- Improve Code by Removing It / Pete Goodliffe -- Install Me / Marcus Baker -- Interprocess Communication Affects Application Response Time / Randy Stafford -- Keep the Build Clean / Johannes Brodwall -- Know How to Use Command-Line Tools / Carroll Robinson -- Know Well More Than Two Programming Languages / Russel Winder -- Know Your IDE / Heinz Kabutz -- Know Your Limits / Greg Colvin -- Know Your Next Commit / Dan Bergh Johnsson -- Large, Interconnected Data Belongs to a Database / Diomidis Spinellis -- Learn Foreign Languages / Klaus Marquardt -- Learn to Estimate / Giovanni Asproni -- Learn to Say, "Hello, World" / Thomas Guest -- Let Your Project Speak for Itself / Daniel Lindner -- The Linker Is Not a Magical Program / Walter Bright -- The Longevity of Interim Solutions / Klaus Marquardt -- Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly / Scott Meyers -- Make the Invisible More Visible / Jon Jagger -- Message Passing Leads to Better Scalability in Parallel Systems / Russel Winder -- A Message to the Future / Linda Rising -- Missing Opportunities for Polymorphism / Kirk Pepperdine -- News of the Weird: Testers Are Your Friends / Burk Hufnagel -- Read More One Binary / Steve Freeman -- Only the Code Tells
... the Truth / Peter Sommerlad -- Own (and Refractor) the Build / Steve Berczuk -- Pair Program and Feel the Flow / Gudny Hauknes, Kari Røssland, and Ann Katrin Gagnat -- Prefer Domain-Specific Types to Primitive Types / Einar Landre -- Prevent Errors / Giles Colborne -- The Professional Programmer / Robert C. Martin (Uncle Bob) --Put Everything Under Version Control / Diomidis Spinellis -- Put the Mouse Down and Step Away from the Keyboard / Burk Hufnagel -- Read Code / Karianne Berg -- Read the Humanities / Keith Braithwaite -- Reinvent the Wheel Often / Jason P. Sage -- Resist the Temptation of the Singleton Pattern / Sam Saariste -- The Road to Performance is Littered with Dirty Code Bombs / Kirk Pepperdine -- Simplicity Comes from Reduction / Paul W. Homer -- The Single Responsibility Principle / Robert C. Martin (Uncle Bob) -- Start from Yes / Alex Miller -- Step Back and Automate, Automate, Automate / Cay Horstmann -- Take Advantage of Code Analysis Tools / Sarah Mount -- Test for Required Behavior, Not Incidental Behavior / Kevlin Henney -- Read More Test Precisely and Concretely / Kevlin Henney --
... Test While You Sleep (and over Weekends) / Rajith Attapattu -- Testing is the Engineering Rigor of Software Development / Neal Ford -- Thinking in States / Niclas Nilsson -- Two Heads Are Often Better Than One / Adrian Wible -- Two Wrongs Can Make a Right (and Are Difficult to Fix) / Allan Kelly -- Ubuntu Coding for Your Friends / Aslam Khan -- The Unix Tools Are Your Friends / Diomidis Spinellis -- Use the Right Algorithm and Data Structure / Jan Christian "JC" van Winkel -- Verbose Logging Will Disturb Your Sleep / Johannes Brodwall -- WET Dilutes Performance Bottlenecks / Kirk Pepperdine -- When Programmers and Testers Collaborate / Janet Gregory -- Write Code As If You Had to Support It for the Rest of Your Life / Yuriy Zubarev -- Write Small Functions Using Examples / Keith Braithwaite -- Write Tests for People / Gerard Meszaros -- You Gotta Care About the Code / Pete Goodliffe -- Your Customers Do Not Mean What They Say / Nate Jackson. Read More