For Bob Martin’s best-selling book Clean Code, he invited a number of former Object Mentors to contribute chapters for the book. Jeff Langr and Tim Ottinger were invited back for Bob’s 2019 book Clean Agile, in which Bob “shows how to bring unprecedented levels of professionalism and discipline to agile development — and thereby write far more effective, successful software.” Tim and Jeff provided a chapter on “Agile Tools,” in which they discuss what’s important in settling on the day-to-day tools you’ll want for agile software development.

You can pick up copies in eBook and print format from Pearson, Amazon, and other retail outlets.

In 2003, Andy Hunt and Dave Thomas published Pragmatic Unit Testing in Java with JUnit, a top-seller and great tool for quickly getting up to speed on unit testing. Jeff Langr has recently updated every aspect of the book, which is designed as a friendly but meaty introduction for Java programmers new to unit testing. Lots of new code (featuring Java 8 and JUnit 4.x), new techniques, mnemonics, and topics, all based on over a dozen years of wisdom gained from practical application of unit testing on real projects!

You can pick up copies in eBook and print format from The Pragmatic Bookshelf, Amazon, and other retail outlets.

Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD—until now. In Modern C++ Programming with Test-Driven Development, published in October 2013 by the Pragmatic Bookshelf, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++. Buy at or Amazon.

This comprehensive set of cards, created by Tim Ottinger and Jeff Langr and published by the Pragmatic Bookshelf in February 2011, is an indispensable resource for agile teams. The deck of Agile in a Flash cards teaches leadership, teamwork, clean programming, agile approaches to problem solving, and tips for coaching agile teams. Team members can use the cards as reference material, ice breakers for conversations, reminders (taped to a wall or monitor), and sources of useful tips and hard-won wisdom. The cards are:

  • Bite-sized! Read one practice or aspect at a time in a couple of minutes.
  • Smart! Each card has years of practical experience behind it.
  • Portable! Cards fit easily in your pocket or backpack.
  • An indispensable tool for any agile team, and a must-have for every agile coach or Scrum Master.

The Agile in a Flash deck is broken into four areas: planning, team, coding, and agile concepts. The front of each card is a quick list – a summary of the things you want to know and remember. The back provides further detail on each of the bullet points, and offers sage nuggets of knowledge based on extensive professional experience. Tape the cards to your wall, stick them on your monitor, and get agile fast.

Uncle Bob Martin’s Clean Code is a collection of wisdom on how to build clean systems. Jeff Langr contributed two chapters to the book, one on clean classes and one on emergent design. The book, published by Prentice Hall PTR in August 2008, is a cohesive compilation of contributions from several Object Mentors both past and present.

Agile Java, by Jeff Langr, provides a modern introduction to professional software development. Agile Java was published in February 2005 by Prentice Hall PTR. This code-intensive book of over 750 pages teaches Java as a high-discipline craft, using an object-oriented (OO) and test-driven approach from the ground up. The book demonstrates and uses the latest features of Java 2 version 5.0.

A solutions manual is available for qualified instructors. Contact Jeff Langr for further details.

Some review links and excerpts appear here. Errata appears here. Source code appears here.

Agile Java
Solutions Manual for Agile Java
Astute readers of Agile Java: Crafting Code will note that it is designed to work in a 15-week university-level course–there are 15 core chapters (plus some “bonus” ones), one per week in a typical semester-based course. The target audience is new programmers; the goal is to teach these programmers enough about Java, object-oriented design and development, and test-driven development from the ground up.

Each chapter in the book ends with exercises that were designed by Jeff Bay. The bulk of the exercises for the first 2/3 of the book center around incremental development of a chess application. Jeff Langr coded up solutions to these exercises, primarily to help instructors work with their students to understand how to incrementally grow a solution. (It’s fairly easy to code too much at any given point in time, thus defeating one of the key goals for TDD.)

The Solutions Manual is a book (over 200 pages!) in itself: It contains not only the code, but also discussions for the instructor’s benefit.

The book was printed in softcopy, but not offered for sale to the general public. At one point, you could get a copy of the solutions manual for free if you were a qualified instructor.

Essential Java Style, by Jeff Langr, presents a pattern-based approach to defining a clean, common Java programming style. The book takes its lead from Kent Beck’s book Smalltalk Best Practice Patterns. A glowing review of the book appeared at Dr. Dobb’s Electronic Review of Computer Books (and has been re-captured here, since the ERCB no longer exists). Although out of print (Essential Java Style was published in 1999 by Prentice Hall with a copyright date of 2000), you can usually order used copies of Essential Java Style from