Robert C. Martin ("Uncle Bob") has been a programmer since 1970. He is founder and president of Object Mentor, Inc., 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. Martin has published dozens of articles in various trade journals and is a regular speaker at international conferences and trade shows. He has authored and edited many books, including the following: Designing Object Oriented C++ Applications Using the Booch Method Patterns Languages 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, Martin served for three years as editor-in-chief of the C++ Report, and he served as the first chairman of the Agile Alliance. Robert is also the founder of Uncle Bob Consulting, LLC, and cofounder with his son Micah Martin of The Clean Coders LLC.
Clean Code Chapter 1 Clean Code 1A Chapter 2 Meaningful Names 17A Chapter 3 Functions 31A Chapter 4 Comments 53A Chapter 5 Formatting 75A Chapter 6 Objects and Data Structures 93A Chapter 7 Error Handling 103A Chapter 8 Boundaries 113A Chapter 9 Unit Tests 121A Chapter 10 Classes 135A Chapter 11 Systems 153A Chapter 12 Emergence 171A Chapter 13 Concurrency 177A Chapter 14 Successive Refinement 193A Chapter 15 JUnit Internals 251A Chapter 16 Refactoring SerialDate 267A Chapter 17 Smells and Heuristics 285A Appendix A Concurrency II 317A Appendix B org.jfree.date.SerialDate 349A Appendix C Cross References of Heuristics 409A Epilogue 411A Index 413A The Clean Coder Pre-Requisite Introduction 1B Chapter 1 Professionalism 7B Chapter 2 Saying No 23B Chapter 3 Saying Yes 45B Chapter 4 Coding 57B Chapter 5 Test Driven Development 77B Chapter 6 Practicing 85B Chapter 7 Acceptance Testing 95B Chapter 8 Testing Strategies 113B Chapter 9 Time Management 121B Chapter 10 Estimation 135B Chapter 11 Pressure 149B Chapter 12 Collaboration 157B Chapter 13 Teams and Projects 167B Chapter 14 Mentoring, Apprenticeship, and Craftsmanship 173B Appendix A Tooling 187B Index 205B