Clean Craftsmanship Robert C. Martin
Disciplines, Standards, and Ethics
July 11, 2022 - 489 words - 3 mins Found a typo? Edit meThe book is divided into three parts: the disciplines, the standards, and the ethics.
The 1st part is the most technical one. It guides you with TDD examples, showing how testing can help you to design your code.
The 2nd part is about productivity, quality, and courage.
The 3rd part is about how did we get here in terms of people who develop software, and our responsibility within our ethics about do no harm, integrity, and teamwork.
One of my favourite parts from the book:
Our software industry is wildly dynamic and changing; therefore, we must all be continuously aggressive learners.
How and when do you do this learning? If your employer provides you the time and space to do this kind of learning, then take as much advantage of it as you can. If your employer is not helpful, then you’ll have to learn on your own time.
Be prepared to spend several hours per month on it. Make sure you have the personal time set aside for it.
Yes, I know you have family obligations, bills to pay, planes to catch, and you’ve got a life. Okay, but you also have a profession. And professions need care and maintenance. I expect us all to be continuous aggressive learners.
Chapter 11. Courage - Continuous Aggressive Learning
Index
Part I: The Disciplines
Chapter 1. Craftsmanship
- Extreme Programming
- Test-Driven Development
- Refactoring
- Simple Design
- Collaborative Programming
- Acceptance Tests
Chapter 2. Test-Driven Development
- Overview
- The Basics
Chapter 3. Advanced TDD
- Getting Stuck
- Arrange, Act, Assert
- Test Doubles
- Architecture
Chapter 4. Test Design
- Testing Databases
- Testing GUIs
- Test Patterns
- Test-Specific Subclass
- Humble Object
- Test Design
- Breaking the Correspondence
Chapter 5. Refactoring
- What Is Refactoring?
- The Basic Toolkit
- Extract Method
- The Disciplines
Chapter 6. Simple Design
- YAGNI
- Covered by Tests
- Coverage
- Design?
- Maximize Expression
- The Underlying Abstraction
- Minimize Duplication
- Minimize Size
Chapter 7. Collaborative Programming
Chapter 8. Acceptance Tests
- The Discipline
- The Continuous Build
Part II: The Standards
Chapter 9. Productivity
- We Will Never Ship S**T
- Inexpensive Adaptability
- We Will Always Be Ready
- Stable Productivity
Chapter 10. Quality
- Continuous Improvement
- Fearless Competence
- Extreme Quality
- We Will Not Dump on QA
- QA Will Find Nothing
- Test Automation
- Automated Testing and User Interfaces
- Testing the User Interface
Chapter 11. Courage
- We Cover for Each Other
- Honest Estimates
- You Must Say NO
- Continuous Aggressive Learning
- Mentoring
Part III: The Ethics
- The First Programmer
- Seventy-Five Years
- Nerds and Saviors
- Role Models and Villains
- We Rule the World
- Catastrophes
- The Oath
Chapter 12. Harm
- First, Do No Harm
- Best Work
- Repeatable Proof
Chapter 13. Integrity
- Small Cycles
- Relentless Improvement
- Maintain High Productivity
Chapter 14. Teamwork
- Work as a Team
- Estimate Honestly and Fairly
- Respect
- Never Stop Learning
I found this chat in YouTube where Uncle Bob talks about most of the topics form his book Clean Craftsmanship.
Listen out for:
* Quote & Intro - [00:00:00]
* Career Journey - [00:07:29]
* Clean Craftsmanship - [00:10:53]
* Programmer as a Profession - [00:15:31]
* Craftsmanship - [00:18:45]
* Disciplines - [00:22:45]
* Disciplines: Test-Driven Development - [00:28:49]
* Disciplines: Refactoring - [00:34:31]
* Code Coverage - [00:39:02]
* Standard: Never Ship S**t - [00:42:35]
* Standard: Always Be Ready - [00:47:15]
* Ethics: Do No Harm - [00:50:00]
* Ethics: Estimate Honestly - [00:53:56]
* 2 Tech Lead Wisdom - [00:57:50]