Robert C. Martin — 作者 (9)
敏捷软件开发 [图书] 豆瓣
Aglie Principles, Patterns, and Practices in C#
作者: Robert C. Martin / Micah Martin 译者: 邓辉 / 孙鸣 publishing house: 人民邮电出版社 2013 - 1
Robert C. Martin、Micah Martin编著的《敏捷软件开发》中深入而生动地使用真实案例讲解了面向对象设计的基本原则、重要的设计模式、UML和敏捷方法。第一部分,从敏捷开发的介绍起,讲解了敏捷联盟宣言,提供了对极限编程(XP)的概述,讨论了许多阐明个别极限编程实践的小案例,特别是那些影响设计和编写代码方式的实践。第二部分主要谈论了面向对象软件设计:什么是面向对象软件设计,管理复杂性的问题以及技术,面向对象类设计的一些原则。研究了薪水支付案例及打包薪水支付系统,并深入讲述了薪水支付应用的数据库和UI设计。
無瑕的程式碼-整潔的軟體設計與架構篇 [图书] 豆瓣
Clean Architecture: A Craftsman's Guide to Software Structure and Design
作者: Robert C. Martin 译者: 林欣穎 publishing house: 博碩文化 2018 - 5
《名家名著》00
《無瑕的程式碼──整潔的軟體設計與架構篇》
工程師︰我已經拜讀了《Clean Code》,還有必要讀《Clean Architecture》嗎?
架構師︰喔,你會做磚頭,那你會蓋房子嗎?
將近10年的等待,全球知名作家Uncle Bob終於推出新作品《Clean Architecture》,由書名很容易就能猜到,這本書和《Clean Code》一定有關。沒錯,這兩本書是有些相同,但又有很大的不同。相同之處在於,這兩本書都是在教導軟體工程師如何正確開發出好的軟體,甚至兩本書提到的原則名稱有些還是相同的。不同之處在於,即便是相同的原則,但在不同層次上使用時,要注意的地方截然不同。
總結來說,好的軟體系統始於整潔的程式碼(clean code),但光是這樣還不夠。也就是說,如果磚塊做得不好,那麼建築物的架構也就不重要了。但就另一方面來說,你也能用精心製作的磚塊來製造大量的垃圾,這本書就是要避免你製造垃圾。
因此,除了閱讀《Clean Code》之外,你還需要閱讀《Clean Architecture》!
再次地,Robert C. Martin以大師強而有力的口吻,極具說服力的文字來撰寫這本書,透過這本書教您如何建構好軟體的架構,釐清什麼是架構,以及認清獨立部署和獨立開發的重要性。如果您想開發的是企業級的軟體,那就千萬不可錯過這本書。
本書將徹底顛覆您的許多觀點,例如微服務是個架構嗎?C語言沒有多型嗎(多型是物件導向發明的嗎)?C語言和C++的封裝相比,誰比較完美?軟體是數學還是科學?什麼是測試的本質?你應該使用框架嗎?關聯式資料庫為何會流行,是否已日暮途窮了呢?你可以先試著回答這些問題,然後在閱讀本書之後,再次審思這些問題,相信大多數的人,要答對一半都很困難。
如果您自許成為一位專業的軟體工程師,強烈建議您,一定要好好詳讀這本書。
~~~~~~~~~~~~~~關於架構~~~~~~~~~~~~~~
架構代表了塑造系統的「重要」設計決策,有多「重要」則是由因應變化的成本來衡量的。
Grady Booch ──《Object-Oriented Analysis and Design with Applications》作者
如果你認為好架構的代價是昂貴的,那不妨試試糟糕的架構。
Brian Foote and Joseph Yoder ──《Pattern Languages of Program Design 4》作者
架構是你希望在專案早期就能得到的決定,但你並不一定能比其他任何時候更容易得到它們。
Ralph Johnson ──《Design Patterns: Elements of Reusable Object-Oriented Software》作者
架構是一個假設,需要透過實作和度量來證明。
Tom Gilb ──《Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguag》作者
走得快的唯一方法就是走得好。
Robert C. Martin── 軟體大師,《Clean Code》、《無瑕的程式碼》系列書作者,
會做磚頭有什麼了不起,會蓋房子才厲害。
《博碩文化》、《名家名著》 總編輯 ── 陳錦輝
Clean Agile: Back to Basics [图书] Goodreads 豆瓣
作者: Robert C. Martin publishing house: Prentice Hall 2019 - 10
Twenty years after the Agile Manifesto was first presented, the legendary Robert C. Martin (“Uncle Bob”) reintroduces agile values and principles for a new generation of software developers. In this eagerly-awaited book, the best-selling author of The Clean Coder shows how to bring unprecedented levels of professionalism and discipline to agile development — and thereby write far more effective, successful software.
As with his other books, Martin's Clean Agile: Back to Basics doesn't merely present multiple choices and options, and say "use your best judgment": it tells you what choices to make, and why those choices are critical to your success. Writing in the agile context, Martin offers direct, no-nonsense answers to crucial questions like:
How and why did Agile begin?
What are the costs and benefits of Agile?
What are the most effective practices of Agile Development?
How should an Agile team be organized?
What roles do programmers, testers, and managers play in an Agile team?
What is the role of the Agile Coach?
What about Agile for large projects?
What kinds of projects benefit from Agile?
Clean Agile: Back to Basics is essential reading for programmers, managers, testers, project managers and every software professional called upon to lead or participate in an agile project.
無瑕的程式碼 [图书] 豆瓣
Clean Code: A Handbook of Agile Software Craftsmanship
作者: Robert C. Martin 译者: 戴于晉 publishing house: 博碩文化 2013 - 3
本書的原文書名為《Clean Code: A Handbook of Agile Software Craftsmanship》,根據作者的說法,《無瑕的程式碼》為Jolt得獎著作《敏捷軟體開發:原則、樣式及實務》的前傳。
在台灣另一本銷售極佳的書籍《重構─改善既有程式的設計》,根據亞馬遜Amazon網站的統計,購買該書原文版《Refactoring: Improving the Design of Existing Code》,又同時購買的其他書籍第一名,正是《Clean Code: A Handbook of Agile Software Craftsmanship》這一本書。
.第一章
作者開宗明義說明什麼是Clean Code,他詢問了包含C++發明人Bjarne Stroustrup、Eclipse策略教父Dave Thomas、極限程式設計大師Ron Jeffries、維基與極限程式設計發明人,Ward Cunningham等等的大師,從他們的眼光來描述什麼是Clean Code,最後才說到作者本人認為的Clean Code應該長成什麼樣子,有什麼好處,以及學習撰寫Clean Code的基本原則。小編只能說,能和那麼多大師對談,就已經證明了作者也是一位大師
其餘部分本書分成三部份。
.第一部份
包含有許多章節,這些章節將描述撰寫clean code的原則、模式及實踐,這些章節包含了不少的程式碼篇幅,閱讀它們頗具有挑戰性。這些章節替你準備好閱讀第二部份所需的背景知識。
.第二部份
這裡包含許多複雜性不斷增加的案例討論。在這個部分,作者會直接帶領您進行整個重構的過程,每次的修改,作者都會說明原因,重構的對象並不僅止於一般的程式,甚至還包含了著名的框架,例如JUnit(哇!把開放原始碼框架拿來重構,真酷)。
.第三部份
終於到了成果收割的時候。最後一章列出了案例討論時搜集到的程式啟發和氣味。在案例討論裡走過和清理程式碼時,紀錄了每個行為的原因,並整理成一種程式啟發或氣味,成了一個知識庫,這個知識庫可以說是整本書的精華與交互參照。
Clean Code: A Handbook of Agile Software Craftsmanship [图书] Goodreads
Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin Series)
作者: Robert C. Martin publishing house: Pearson 2008 - 8
Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with
. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it.
What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding

‣ How to tell the difference between good and bad code
‣ How to write good code and how to transform bad code into good code
‣ How to create good names, good functions, good objects, and good classes
‣ How to format code for maximum readability
‣ How to implement complete error handling without obscuring code logic
‣ How to unit test and practice test-driven development
This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Clean Architecture 達人に学ぶソフトウェアの構造と設計 [图书] Goodreads 谷歌图书
作者: Robert C. Martin publishing house: KADOKAWA 2018 - 7
アーキテクチャのルールはどれも同じである!<br /><br />書いているコードが変わらないのだから、どんな種類のシステムでもソフトウェアアーキテクチャのルールは同じ。ソフトウェアアーキテクチャのルールとは、プログラムの構成要素をどのように組み立てるかのルールである。構成要素は普遍的で変わらないのだから、それらを組み立てるルールもまた、普遍的で変わらないのである。(本書「序文」より)
Functional Design [图书] 豆瓣
作者: Robert C. Martin publishing house: Addison-Wesley Professional 2023 - 9
In Functional Design, renowned software engineer Robert C. Martin ("Uncle Bob") explains how and why to use functional programming to build better systems for real customers. Martin compares conventional object-oriented coding structures in Java to those enabled by functional languages, identifies the best roles for each, and shows how to build better systems by judiciously using them in context.
Martin's approach is pragmatic, minimizing theory in favor of "in the-trenches" problem-solving. Through accessible examples, working developers will discover how the easy-to-learn, semantically rich Clojure language can help them improve code cleanliness, design, discipline, and outcomes. Martin examines well-known SOLID principles and Gang of Four Design Patterns from a functional perspective, revealing why patterns remain extremely valuable to functional programmers, and how to use them to achieve superior results.
Agile Software Development, Principles, Patterns, and Practices [图书] Goodreads
作者: Robert C. Martin / James W. Newkirk publishing house: Pearson Educacion 2011 - 6
For courses in Object-Oriented Design, C++ Intermediate Programming, and Object-Oriented Programming. Written for software engineers in the trenches, this text focuses on the technology--the principles, patterns, and process--that help software engineers effectively manage increasingly complex operating systems and applications. There is also a strong emphasis on the people behind the technology. This text will prepare students for a career in software engineering and serve as an on-going education for software engineers.