This blog post is part of a series of blog posts concerning a Clean Code study circle that we developers at Admeta are persuing during 2009. Here you can find an introduction concerning the question why we are doing this and here you can find an overview of all chapters as well as some study circle recommendations.
Chapter 1 Clean Code questions:
- Before reading, take a moment to reflect what the concept of Clean Code means to you.
- Is there anyone of the different "guru's" description of Clean Code (p7-12 + forword) that do you think lies closest to your own definition of Clean Code?
- After having read the chapter, has the reading changed your conception?
- What is your experience / opinion of code generation tools or any other higher abstraction level of programming (4GL)?
- Do you have any good or bad experience of building your own code generator (in some way)?
- Where do you think we are heading when it comes to abstraction levels in languages and tools?
- Do you consider this to be a bright future for us developers?
- extra: What do you think of Joel Spolskys described "The Law of Leaky Abstractions"?
- Have you experienced something like "the Grand Redesign in the Sky" and how did that end?
- What is / has been your explanation to having written bad code (as we all have done!) in the past?
- Do you think it is suitable for us as a team to align to a "School Of Thoughts" (p12) or do you see any better path to having a more uniform clean code conception?
- What do you think of "the Boy Scout Rule" (p.14) applied to code?
- Are you familiar with any or all following Principles of Design (S.O.L.I.D.) (p15):
- SRP - The Single Responsibility Principle
- OCP - The Open / Closed Principle
- LSP - The Liskov Substitution Principle
- ISP - The Interface Segration Principle
- DIP - The Dependency-Inversion Principle
- What do you think is the status of Clean Code at our company?
As a side-note, Robert C. Martin and Joel Spolsky, the two people basically mentioned above, seem to be disagreeing a lot these days (excellent summary here by Niclas Nilsson). I guess they have not read my writing upon the Truth vs the Truth...
They seem to have made up somewhat in the end though.