Re-reading Clean Coder: Chapter 1 - Professionalism
I first read The Clean Coder by Robert C. Martin 5 years ago. I've decided to re-read The Clean Coder after 5 years, firstly as I think it is a classic and secondly because I've recommended it as a nice read to my team and I'd like to compare thoughts on each chapter.
Chapter 1 Professionalism
Taking Responsibility: take responsibility and tell that tests aren't completed and you are not prepared to ship software on time
Automated QA Automated tests are a must to be able to change code without being afraid.
'Professional developers are so certain of their code and tests that they are maddeningly casual about making random, opportunistic changes'
Know your field: - Nassi Schneiderman chart - Tramp data - Conascence
'Our field is progressing quickly, yet if and while statements are the same as they were 50 years ago. Much has changed, much hasn't.'
List of things every software professional should be conversant with: - Design Patterns: 24 patterns in GOF book, working knowledge in POSA books. - Design principles: SOLID principles, component principles - Methods: XP, Scrum, Lean, Kanban, Waterfall, Structured Analysis, Structured design - Disciplines: TDD, Object-Oriented design, Structured Programming, Continuous Integration, Pair programming - Artifacts: How to use various diagrams and flow charts
Continuous Learning and Practice
Nothing will drive facts and values into your head faster and harder than having to communicate them to people you are responsible for.
Know your domain - Know enough about your domain to recognize and challenge specification errors.
A professional will not demean another for making a mistake, because he knows he may be the next to fail