Edited Contributions
From Programmer 97-things
- Fulfill Your Ambitions with Open Source by Richard Monson-Haefel
- Comment Only What the Code Cannot Say by Kevlin Henney
- Restrict Mutability of State by Kevlin Henney
- Speed Kills by Uncle Bob
- Encapsulate Behavior, not Just State by Einar Landre
- Only the Code Tells the Truth by Peter Sommerlad
- Interfaces Should Reveal Intention by Einar Landre
- Inter-Process Communication Affects Application Response Time by Randy Stafford
- Test for Required Behavior, not Incidental Behavior by Kevlin Henney
- Test Precisely and Concretely by Kevlin Henney
- Verbose Logging Will Disturb Your Sleep by Johannes Brodwall
- The Road to Performance Is Littered with Dirty Code Bombs by Kirk Pepperdine
- Keep the Build Clean by Johannes Brodwall
- Use Aggregate Objects to Reduce Coupling by Einar Landre
- WET Dilutes Performance Bottlenecks by Kirk Pepperdine
- Testing Is the Engineering Rigor of Software Development by Neal Ford
- Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly by Scott Meyers
- Don't Just Learn the Language, Understand its Culture by Anders Norås
- Small! by Uncle Bob
- Don't Nail Your Program into the Upright Position by Verity Stob
- You Gotta Care about the Code by Pete Goodliffe
- Know Your Next Commit by Dan Bergh Johnsson
- The Professional Programmer by Uncle Bob
- The Three Laws of Test-Driven Development by Uncle Bob
- Programmers Who Write Tests Get More Time to Program by Johannes Brodwall
- The Single Responsibility Principle by Uncle Bob
- The Longevity of Interim Solutions by Klaus Marquardt
- Prefer Domain-Specific Types to Primitive Types by Einar Landre
- Distinguish Business Exceptions from Technical by Dan Bergh Johnsson
- Don't Ignore that Error! by Pete Goodliffe
- The Boy Scout Rule by Uncle Bob
- A Comment on Comments by Cal Evans
- Don't Touch that Code! by Cal Evans
- Own (and Refactor) the Build by Steve Berczuk
- Deploy Early and Often by Steve Berczuk
- Understand Principles behind Practices by Steve Berczuk
- Acknowledge (and Learn from) Failures by Steve Berczuk
- Hard Work Does not Pay Off by Olve Maudal
- Continuous Refactoring by Michael Hunger
- Scoping Methods by Michael Hunger
- Improve Code by Removing It by Pete Goodliffe
- Learn to Estimate by Giovanni Asproni
- Domain-Specific Languages by Michael Hunger
- Learn Foreign Languages by Klaus Marquardt
- Check Your Code First before Looking to Blame Others by Allan Kelly
- Two Wrongs Can Make a Right (and Are Difficult to Fix) by Allan Kelly
- Floating-point Numbers Aren't Real by Chuck Allison
- The Linker Is not a Magical Program by Walter Bright
- Beware the Share by Udi Dahan
- Consider the Hardware by Jason P Sage
- Data Type Tips by Jason P Sage
- Reinvent the Wheel Often by Jason P Sage
- Improved Testability Leads to Better Design by George Brooke
- From Requirements to Tables to Code and Tests by George Brooke
- Put the Mouse Down and Step Away from the Keyboard by Burk Hufnagel
- Expect the Unexpected by Pete Goodliffe
- Continuous Learning by Clint Shank
- Don't Be Cute with Your Test Data by Rod Begbie
- Choose Your Tools with Care by Giovanni Asproni
- Decouple that UI by George Brooke
- Know Your Limits by Greg Colvin
- Do Lots of Deliberate Practice by Jon Jagger
- Code Is Hard to Read by Dave Anderson
- Simple Is not Simplistic by Giovanni Asproni
- Missing Opportunities for Polymorphism by Kirk Pepperdine
- Code in the Language of the Domain by Dan North
- Make the Invisible More Visible by Jon Jagger
- Ask "What Would the User Do?" (You Are not the User) by Giles Colborne
- Balance Duplication, Disruption, and Paralysis by Johannes Brodwall
- Methods Matter by Matthias Merdes
- The Golden Rule of API Design by Michael Feathers
- Don't Rely on "Magic Happens Here" by AlanGriffiths
- Prevent Errors by Giles Colborne
- Write Small Functions Using Examples by Keith Braithwaite
- Reuse Implies Coupling by Klaus Marquardt
- Hands on in All Phases by Klaus Marquardt
- Implicit Dependencies Are also Dependencies by Klaus Marquardt
- How to Access Patterns by Klaus Marquardt
- Code Layout Matters by Steve Freeman
- One Binary by Steve Freeman
- Beauty Is in Simplicity by Jørn Ølmheim
- Integrate Early and Often by Gerard Meszaros
- Write Tests for People by Gerard Meszaros
- Know Your IDE by Heinz Kabutz
- Structure over Function by Peter Sommerlad
- Message Passing Leads to Better Scalability in Parallel Systems by Russel Winder
- Know Well More than Two Programming Languages by Russel Winder
- Read the Humanities by Keith Braithwaite
- Code Is Design by Ryan Brush
- The Guru Myth by Ryan Brush
- Learn to Say "Hello, World" by Thomas Guest
- Don't Reinvent the Wheel by Kai Tödter
- Take Advantage of Code Analysis Tools by Sarah Mount
- Install Me by Marcus Baker
- How to Use a Bug Tracker by Matt Doar
- Use the Right Algorithm and Data Structure by JC van Winkel
- Who Will Test the Tests Themselves? by Filip van Laenen
- Write a Test that Prints PASSED by Kevin Kilzer
- There Is No Such Thing as Self-Documenting Code by Carroll Robinson
- Convenience Is not an -ility by Gregor Hohpe
- First Write, Second Copy, Third Refactor by Mario Fusco
- Display Courage, Commitment, and Humility by Ed Sykes
- A Message to the Future by Linda Rising
- Don't Repeat Yourself by Steve Smith
- Use the Same Tools in a Team by Kai Tödter
- Step Back and Automate, Automate, Automate by Cay Horstmann
- Declarative over Imperative by Christian Horsdal
- There Is No Right or Wrong by Mike Nereson
- Apply Functional Programming Principles by Edward Garson
- Talk about the Trade-offs by Michael Harmer
- Simplicity Comes from Reduction by Paul W. Homer
- Put Everything Under Version Control by Diomidis Spinellis
- Your Customers Do not Mean What They Say by Nate Jackson
- Respect the Software Release Process by Pete Goodliffe
- Leave It in a Better State by Patrick Kua
- The Programmer's New Clothes by Ryan Brush
- Don't Be Afraid to Break Things by Mike Lewis
- Avoid Programmer Churn and Bottlenecks by Jonathan Danylko
- Programmers Are Mini-Project Managers by Jonathan Danylko
- Resist the Temptation of the Singleton Pattern by Sam Saariste
- Write Code for Humans not Machines by Mario Fusco
- Don't Use too Much Magic by Mario Fusco
- Ubuntu Coding for Your Friends by Aslam Khan
- Act with Prudence by Seb Rose
- News of the Weird: Testers Are Your Friends by Burk Hufnagel
- Large Interconnected Data Belongs to a Database by Diomidis Spinellis
- Become Effective with Reuse by Vijay Narayanan
- Reap What You Sow by Seb Rose
- Done Means Value by Raphael Marvie
- Learn to Use a Real Editor by Diomidis Spinellis
- The Unix Tools Are Your Friends by Diomidis Spinellis
- Push Your Limits by Karoline Klever
- Know How to Use Command-line Tools by Carroll Robinson
- Know Your Language by Bob Archer
- Be Stupid and Lazy by Mario Fusco
- Soft Skills Matter by Bruce Rennie
- Let Your Project Speak for Itself by Daniel Lindner
- Automate Your Coding Standard by Filip van Laenen
- Before You Refactor by Rajith Attapattu
- Test While You Sleep (and over Weekends) by Rajith Attapattu
- In the End, It's All Communication by Thomas Lundström
- Thinking in States by Niclas Nilsson
- Continuously Align Software to Be Reusable by Vijay Narayanan
- Isolate to Eliminate by Stuart Herbert
- When Programmers and Testers Collaborate by Janet Gregory
- Abstract Data Types by Aslam Khan
- Execution Speed versus Maintenance Effort by Paul Colin Gloster
- Keep Your Architect Busy by Klaus Marquardt
- Know When to Fail by Geir Hedemark
- Read Code by Karianne Berg
- QA Team Member as an Equal by Ravindar Gujral
- Anomalies Should not Be Ignored by Keith Gardner
- Using Design Patterns to Build Reusable Software by Vijay Narayanan
- Coding with Reason by Yechiel Kimchi
- Don't Be too Sophisticated by Ralph Winzinger
- Code Reviews by Mattias Karlsson
- Write Code as If You Had to Support It for the Rest of Your Life by Yuriy Zubarev
- Don't Be a One Trick Pony by Rajith Attapattu
- Dive into Programming by Wojciech Rynczuk
- Learn the Platform by Vatsal Avasthi
- Work with a Star and Get Rid of the Truck Factor by Cecilia Sjölin and Ida Hveding Huse
- Two Heads Are Often Better than One by Adrian Wible
- Start from Yes by Alex Miller
- Better Efficiency with Mini-Activities, Multi-Processing, and Interrupted Flow by Siv Fjellkårstad
- Pair Program and Feel the Flow by Gudny Hauknes, Ann Katrin Gagnat, and Kari Røssland
