Publications

Selected Publications:

Pattern Languages of Program Design 3
Edited by Robert C. Martin, Frank Buschmann, Dirk Riehle,
Addison Wesley, 1997, ISBN 0201310112

 

Designing Object Oriented C++ Applications using the Booch Method
Robert C. Martin,
Prentice Hall, 1995, ISBN 0132038374

 

More C++ Gems
Edited by Robert C. Martin,
Cambridge Press, 1999, ISBN 0521786185

 

Agile Software Development: Principles, Patterns, and Practices
Robert C. Martin,
Prentice Hall, 2002

 

Extreme Programming in Practice
James Newkirk and Robert C. Martin,
Addison Wesley, 2001, ISBN 0201709376

 

UML for Java Programmers
Robert C. Martin,
Prentice Hall (2003)

Bob Martin

Test Driven Design

Robert C. Martin (Uncle Bob) has been a software professional since  1970 and is founder and  president of Object Mentor Inc., in Gurnee,  Illinois.  Object Mentor, Inc., is an international firm of highly  experienced software developers and managers who specialize in helping  companies get their projects done.  Object Mentor offers process  improvement consulting, object-oriented software design consulting,  training, and skill development services to major corporations  worldwide.

Mr. Martin has published dozens of articles in various trade journals,  and is a regular speaker at international conferences and trade shows.

Mr. Martin has authored and edited many books including:

-       Designing Object Oriented C++ Applications using the Booch Method
-       Patterns Langauages of Program Design 3
-       More C++ Gems
-       Extreme Programming in Practice
-       Agile Software Development: Principles, Patterns, and Practices.
-       UML for Java Programmers
-       Clean Code

A leader in the industry of software development, Mr. Martin served three years as the editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance.

Bob's Platform:

Professionalism and TDD

In 2008 it is impossible to call yourself a professional unless you  practice Test Driven Development.

  • The jury is in.  TDD works and works well.
  • The Three laws of TDD:
    • You cannot write a line of production code unless you have first written a failing unit test.
    • You cannot write more of a unit test than is sufficient to fail  (and not compiling is failing).
    • You cannot write more production code than is sufficient to make  the currently failing test pass.
  • If you follow these three laws:
    • You will be able to continuously improve your design and code  because your test coverage will be close to 100%.
    • Having a suite of high coverage tests makes code an order of  magnitude more flexible and maintainable than a good architecture.
    • The tests provide the best kind of detailed documentation
    • The tests force you to decouple your design

These disciplines have been proven, time and again, to increase the  flexibility, reliability, maintainability, and understandability of 
systems.  To follow any other course is irresponsible.