Robert C. Martin

From Wikipedia, the free encyclopedia
(Redirected from Robert Cecil Martin)

Robert C. Martin
Martin in 2020
Born
Robert Cecil Martin

(1952-12-05) 5 December 1952 (age 71)[1]
NationalityAmerican
Other names"Uncle Bob" Martin
Occupation(s)Software engineer[citation needed], instructor
Known forAgile Manifesto, SOLID principles
Children4
Websitecleancoder.com

Robert Cecil Martin (born 5 December 1952), colloquially called "Uncle Bob",[2] is an American software engineer[citation needed], instructor, and author. He is most recognized for promoting many software design principles and for being an author and signatory of the influential Agile Manifesto.[3]

Martin has authored many books and magazine articles. He was the editor-in-chief of C++ Report magazine and served as the first chairman of the Agile Alliance.[4][5]

Martin joined the software industry at age 17 and is self-taught.[6]

Companies[edit]

In 1991, Martin founded Object Mentor,[7] now defunct, which provided instructor-led training on the extreme programming methodology.[8] As of November 2023, he operated Uncle Bob Consulting, which provides consulting and training services.[9] He is also a "Master Craftsman / Mentor" at Clean Coders, a company which is run by his son Micah Martin, and produces training videos.[10]

Software principles and advocacy[edit]

Martin is a proponent of software craftsmanship, agile software development, and test-driven development.[11]

He is credited with coining the SOLID mnemonic,[12] a collection of software principles. The principles are as follows: "Single Responsibility Principle", "Open-Closed Principle" (invented by Bertrand Meyer[13][14]), "Liskov Substitution Principle" (invented by Barbara Liskov[15]), "Interface Segregation Principle", and "Dependency Inversion Principle".

Publications[edit]

  • 1995. Designing Object-Oriented C++ Applications Using the Booch Method. Prentice Hall. ISBN 978-0132038379.
  • 2000. More C++ Gems. Cambridge University Press. ISBN 978-0521786188.
  • 2002. Agile Software Development, Principles, Patterns, and Practices. Pearson. ISBN 978-0135974445.
  • 2003. UML for Java Programmers. Prentice Hall. ISBN 978-0131428485.
  • 2006. Agile Principles, Patterns, And Practices in C#. Pearson. ISBN 978-0131857254.
  • 2009. Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall. ISBN 978-0132350884.
  • 2011. The Clean Coder: A Code Of Conduct For Professional Programmers. Prentice Hall. ISBN 978-0137081073.
  • 2017. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall. ISBN 978-0134494166.
  • 2019. Clean Agile: Back to Basics. Prentice Hall. ISBN 978-0135781869.
  • 2021. Clean Craftsmanship: Disciplines, Standards, and Ethics. Addison-Wesley Professional. ISBN 978-0136915805
  • 2023. Functional Design: Principles, Patterns, and Practices. Addison-Wesley ISBN 978-0138176396

References[edit]

  1. ^ Groupon OnAir (July 26, 2016). The Future of Programming with Uncle Bob Martin. YouTube.
  2. ^ Heusser, Matthew (May 10, 2011). "Do Professional Programmers Need a Code of Conduct? An Interview with Robert C. "Uncle Bob" Martin". InformIT. Retrieved February 26, 2015.
  3. ^ "Authors: The Agile Manifesto". Manifesto for Agile Software Development. 2001. Retrieved January 16, 2020.
  4. ^ "Robert C. Martin". IEEE Xplore. Retrieved August 1, 2021.
  5. ^ Sondra Ashmore; Kristin Runyan (2014). Introduction to Agile Methods. Addison-Wesley Professional. p. 10. ISBN 9780133435214.
  6. ^ Martin, Robert C. (December 10, 2018). "Uncle Bob on X". X (formerly Twitter). Retrieved November 23, 2023.
  7. ^ "Robert Martin (Uncle Bob) - Scrum Alliance". www.scrumalliance.org. Retrieved November 30, 2022.
  8. ^ "Object Mentor: About | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  9. ^ "Robert Martin | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  10. ^ "Clean Coders : Level up your code". cleancoders.com. Retrieved November 23, 2023.
  11. ^ "UBC". cleancoder.com. Retrieved November 23, 2023.
  12. ^ Martin, Robert C. (2000) "Design Principles and Design Patterns"(PDF). objectmentor.com. Archived from the original on 2015-09-06
  13. ^ Martin, Robert C. (January 1996). "The Open-Closed Principle" (PDF). C++ Report. Archived from the original on August 22, 2006.{{cite magazine}}: CS1 maint: unfit URL (link)
  14. ^ Meyer, Bertrand (1988). Object-oriented software construction. New York: Prentice Hall. p. 23. ISBN 0136290493.
  15. ^ Liskov, Barbara; Wing, Jeannette (November 1, 1994). "A behavioral notion of subtyping". ACM Transactions on Programming Languages and Systems. 16 (6): 1811–1841. doi:10.1145/197320.197383. S2CID 999172.