Robert C. Martin
Martin in 2020
Born
Robert Cecil Martin

(1952-12-05) 5 December 1952 (age 73)[1]
Other name"Uncle Bob" Martin
OccupationsSoftware engineer,[2] instructor
Known forAgile Manifesto, SOLID principles
Children4
Websitecleancoder.com

Robert Cecil Martin (born 5 December 1952), colloquially called "Uncle Bob",[3] is an American software engineer,[2] 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.[4]

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.[5][6]

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

Professional work

edit

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

In a 2024 interview Martin stated that he is programming primarily with Clojure.[12]

Software principles advocacy

edit

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

He is credited with introducing the collection of object-oriented programming (OOP) design principles that came to be known as SOLID.[14]

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.
  • 2001. Extreme Programming in Practice. Addison-Wesley. ISBN 978-0201709377.
  • 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
  • 2024. We, Programmers: A Chronicle of Coders from Ada to AI. Addison-Wesley Professional. ISBN 978-0135344262

Guests

edit

Notable guests of his video channel include Grady Booch and Ward Cunningham.

Clean Code

edit

One term that is connected with Robert Martin is "Clean Code". It is the name of a book that he wrote,[15] a firm that he owns[citation needed], a class that he teaches,[15] and a software paradigm that he supports. The software paradigm involves SOLID, Test Driven Development, Keep It Simple Stupid, Structured Programming, Object Oriented Programming, and certain Design Patterns.[16]

Short functions

edit

A core teaching from Clean Code reads "Functions should do one thing. They should do it well. They should only do it."[17] Martin tells how impressed he was by a program by Kent Beck: "Every function [..] was just two, or three, or four lines long. Each was transparently obvious. Each told a story. And each led you to the next in a compelling order. That's how short your functions should be."[18]

John Ousterhout disagrees with this advice: "once a function gets down to a few dozen lines, further reductions in size are unlikely to have much impact on readability. [..] More functions means more interfaces to document and learn. If functions are made too small, they lose their independence [..]"[19] For Ousterhout, functions and other modules should be "deep", but have a small interface. Ousterhout also disagreed with Martin's advice against code comments, and for test-driven development. Martin and Ousterhout discussed these points of disagreement and clarified their views in a long dialogue.[20]

References

edit
  1. ^ Groupon OnAir (July 26, 2016). The Future of Programming with Uncle Bob Martin. YouTube.
  2. ^ a b Microsoft Learn (September 15, 2015). "Uncle Bob on Software Practice". Microsoft Learn.
  3. ^ 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.
  4. ^ "Authors: The Agile Manifesto". Manifesto for Agile Software Development. 2001. Retrieved January 16, 2020.
  5. ^ "Robert C. Martin". IEEE Xplore. Retrieved August 1, 2021.
  6. ^ Sondra Ashmore; Kristin Runyan (2014). Introduction to Agile Methods. Addison-Wesley Professional. p. 10. ISBN 9780133435214.
  7. ^ Martin, Robert C. (December 10, 2018). "Uncle Bob on X". X (formerly Twitter). Retrieved November 23, 2023.
  8. ^ "Robert Martin (Uncle Bob) - Scrum Alliance". www.scrumalliance.org. Retrieved November 30, 2022.
  9. ^ "Object Mentor: About | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  10. ^ "Robert Martin | LinkedIn". LinkedIn. Retrieved November 23, 2023.
  11. ^ "Clean Coders : Level up your code". cleancoders.com. Retrieved November 23, 2023.
  12. ^ ThePrimeTime (April 30, 2024). "I Interviewed Uncle Bob". YouTube.
  13. ^ "UBC". cleancoder.com. Retrieved November 23, 2023.
  14. ^ Martin, Robert C. (2000) "Design Principles and Design Patterns"(PDF). objectmentor.com. Archived from the original on 2015-09-06
  15. ^ a b "Uncle Bob Martin".
  16. ^ "Uncle Bob Martin".
  17. ^ p. 35 in Robert C. Martin, Clean Code, Pearson 2009.
  18. ^ Clean Code, p.34
  19. ^ John Ousterhout, A Philosophy of Software Design. Yaknyam Press, Palo Alto 2018, 2nd edition 2022.
  20. ^ https://github.com/johnousterhout/aposd-vs-clean-code

📚 Artikel Terkait di Wikipedia

Code smell

function is ill-conceived and that the code should be refactored so responsibility is assigned in a more clean-cut way.[self-published source] Anti-pattern –

Single-responsibility principle

(2014). "The Single Responsibility Principle". The Clean Code Blog. Robert C. Martin (2018). Clean Architecture: A Craftsman's Guide to Software Structure

Code refactoring

computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing

Sonar (company)

2016). "Swiss code quality manager SonarSource raises $45 million from Insight Venture Partners". Tech.eu. "SonarSource expands the Clean Code movement to

Bypass Paywalls Clean

takedown notice was filed against its source code repository. Subsequently, magnolia1234 migrated Bypass Paywalls Clean to GitHub, where it was targeted by another

Casey Muratori

2025. "Star Code Galaxy". Molly Rocket. Archived from the original on March 2, 2023. David Cassel (April 16, 2023). "When 'Clean Code' Hampers Application

Clean-room design

were licensing their own BIOS code. Phoenix expressly emphasized the clean-room process through which their BIOS code had been written by a programmer

Magic number (programming)

Smells and Heuristics - G25 Replace Magic Numbers with Named Constants". Clean Code - A handbook of agile software craftsmanship. Boston: Prentice Hall. p