Robert Cecil Martin (geboren am 5. Dezember 1952), umgangssprachlich „ Onkel Bob “ genannt, [ 3 ] ist ein US-amerikanischer Softwareingenieur , [ 2 ] Dozent und Autor. Er ist vor allem für die Förderung zahlreicher Software-Designprinzipien und als Autor und Unterzeichner des einflussreichen Agilen Manifests bekannt . [ 4 ]
Martin hat zahlreiche Bücher und Zeitschriftenartikel verfasst. Er war Chefredakteur des Magazins C++ Report und erster Vorsitzender der Agile Alliance. [ 5 ] [ 6 ]
Martin stieg mit 17 Jahren in die Softwarebranche ein und ist Autodidakt. [ 7 ]
Professionelle Arbeit
1991 gründete Martin Object Mentor [ 8 ] , ein mittlerweile aufgelöstes Unternehmen, das von Ausbildern geleitete Schulungen zur Extreme-Programming- Methodik anbot. [ 9 ] Seit November 2023 betreibt er Uncle Bob Consulting, ein Beratungs- und Schulungsunternehmen. [ 10 ] Er ist Master Craftsman/Mentor bei Clean Coders, einem Unternehmen seines Sohnes Micah Martin, und produziert Schulungsvideos. [ 11 ]
In einem Interview aus dem Jahr 2024 gab Martin an, dass er hauptsächlich mit Clojure programmiert . [ 12 ]
Befürwortung von Softwareprinzipien
Martin ist ein Verfechter von Software-Handwerkskunst , agiler Softwareentwicklung und testgetriebener Entwicklung . [ 13 ]
Ihm wird die Einführung der Sammlung von Designprinzipien für die objektorientierte Programmierung (OOP) zugeschrieben, die als SOLID bekannt wurden . [ 14 ]
Veröffentlichungen
- 1995. Entwurf objektorientierter C++-Anwendungen mit der Booch-Methode . Prentice Hall. ISBN 978-0132038379Die
- 2000. Weitere C++-Perlen . Cambridge University Press. ISBN 978-0521786188Die
- 2001. Extreme Programming in Practice . Addison-Wesley. ISBN 978-0201709377Die
- 2002. Agile Softwareentwicklung: Prinzipien, Muster und Praktiken . Pearson. ISBN 978-0135974445Die
- 2003. UML für Java-Programmierer . Prentice Hall. ISBN 978-0131428485Die
- 2006. Agile Prinzipien, Muster und Praktiken in C# . Pearson. ISBN 978-0131857254Die
- 2009. Clean Code: Ein Handbuch für agile Softwareentwicklung . Prentice Hall. ISBN 978-0132350884Die
- 2011. Der saubere Programmierer: Ein Verhaltenskodex für professionelle Programmierer . Prentice Hall. ISBN 978-0137081073Die
- 2017. Clean Architecture: Ein Leitfaden für Softwarestruktur und -design . Prentice Hall. ISBN 978-0134494166Die
- 2019. Clean Agile: Zurück zu den Grundlagen . Prentice Hall. ISBN 978-0135781869Die
- 2021. Sauberes Handwerk: Disziplinen, Standards und Ethik . Addison-Wesley Professional. ISBN 978-0136915805
- 2023. Funktionales Design: Prinzipien, Muster und Praktiken . Addison-Wesley ISBN 978-0138176396
- 2024. Wir, Programmierer: Eine Chronik der Programmierer von Ada bis zur KI . Addison-Wesley Professional. ISBN 978-0135344262
Gäste
Zu den prominenten Gästen seines Videokanals gehören Grady Booch und Ward Cunningham .
Sauberer Code
Ein Begriff, der mit Robert Martin in Verbindung gebracht wird, ist „Clean Code“. Er bezeichnet ein von ihm verfasstes Buch [ 15 ], ein von ihm gegründetes Unternehmen, einen von ihm unterrichteten Kurs [ 15 ] und ein von ihm vertretenes Software-Paradigma. Dieses Paradigma umfasst SOLID , testgetriebene Entwicklung (TDD ) , KISS (Keep It Simple, Stupid) , strukturierte Programmierung , objektorientierte Programmierung (OOP) und bestimmte Entwurfsmuster. [ 16 ]
Kurzfunktionen
Eine zentrale Lehre von Clean Code lautet: „Funktionen sollten eine Sache tun. Sie sollten sie gut tun. Sie sollten nichts anderes tun.“ [ 17 ] Martin beschreibt, wie beeindruckt er von einem Programm von Kent Beck war : „Jede Funktion […] war nur zwei, drei oder vier Zeilen lang. Jede war glasklar. Jede erzählte eine Geschichte. Und jede führte in einer überzeugenden Reihenfolge zur nächsten. So kurz sollten Ihre Funktionen sein.“ [ 18 ]
John Ousterhout widerspricht dieser Empfehlung: „Sobald eine Funktion nur noch wenige Dutzend Zeilen umfasst, dürfte eine weitere Verkleinerung die Lesbarkeit kaum noch beeinträchtigen. […] Mehr Funktionen bedeuten mehr Schnittstellen, die dokumentiert und erlernt werden müssen. Werden Funktionen zu klein gemacht, verlieren sie ihre Unabhängigkeit […]“ [ 19 ] Für Ousterhout sollten Funktionen und andere Module zwar „tief“ strukturiert sein, aber eine kleine Schnittstelle besitzen. Ousterhout widersprach auch Martins Empfehlung, auf Codekommentare zu verzichten und stattdessen testgetriebene Entwicklung zu befürworten . Martin und Ousterhout diskutierten diese Meinungsverschiedenheiten und klärten ihre Ansichten in einem ausführlichen Dialog. [ 20 ]
Referenzen
- ^ Groupon OnAir (26. Juli 2016). Die Zukunft des Programmierens mit Onkel Bob Martin . YouTube.
- ^ a b Microsoft Learn (15. September 2015). „Onkel Bob über Softwareentwicklung“ . Microsoft Learn.
- ^ Heusser, Matthew (10. Mai 2011). „Brauchen professionelle Programmierer einen Verhaltenskodex? Ein Interview mit Robert C. „Uncle Bob“ Martin“ . InformIT . Abgerufen am 26. Februar 2015 .
- ^ „Autoren: Das Agile Manifest“ . Manifest für die agile Softwareentwicklung . 2001. Abgerufen am 16. Januar 2020 .
- ^ „Robert C. Martin“ . IEEE Xplore . Abgerufen am 1. August 2021 .
- ^ Sondra Ashmore; Kristin Runyan (2014). Einführung in agile Methoden . Addison-Wesley Professional. S. 10. ISBN 9780133435214Die
- ^ Martin, Robert C. (10. Dezember 2018). „Uncle Bob on X“ . X (ehemals Twitter) . Abgerufen am 23. November 2023 .
- ^ „Robert Martin (Uncle Bob) – Scrum Alliance“ . www.scrumalliance.org . Abgerufen am 30. November 2022 .
- ^ „Object Mentor: Über uns | LinkedIn“ . LinkedIn . Abgerufen am 23. November 2023 .
- ^ „Robert Martin | LinkedIn“ . LinkedIn . Abgerufen am 23. November 2023 .
- ^ „Clean Coders: Verbessern Sie Ihren Code“ . cleancoders.com . Abgerufen am 23. November 2023 .
- ^ ThePrimeTime (30. April 2024). „Ich habe Onkel Bob interviewt“ . YouTube.
- ^ "UBC" . cleancoder.com . Abgerufen am 23. November 2023 .
- ^ Martin, Robert C. (2000) „Design Principles and Design Patterns“ (PDF). objectmentor.com . Archiviert vom Original am 06.09.2015.
- ^ a b "Onkel Bob Martin" .
- ^ "Onkel Bob Martin" .
- ^ S. 35 in Robert C. Martin, Clean Code, Pearson 2009.
- ^ Sauberer Code, S. 34
- ^ John Ousterhout , Eine Philosophie des Softwaredesigns. Yaknyam Press, Palo Alto 2018, 2. Auflage 2022.
- ^ https://github.com/johnousterhout/aposd-vs-clean-code