Hi,
wow - was für eine Überschrift
Es geht mir um folgendes: In der deutschen Entwickler Community startet gerade eine kleine Bewegung namens CCD (Clean Code Developer -
http://clean-code-developer.de).
Kurz gesagt geht es hierbei darum, sich selber als 'professioneller Softwareentwickler' ständig weiter zu entwickeln und sein Handwerk zu verbessern. Ich will jetzt keine Werbung für bunte Armbändchen oder selbst ausgedruckte farbige Pyramiden machen, aber das Konzept 'an sich selber arbeiten und seine eigene Arbeit verbessern' finde ich gut.
CCD startet mit dem Buch 'Clean Code' von Robert C. (Uncle Bob) Martin. In dem Buch wird stark auf TDD und die SOLID - Prinzipien verwiesen.
TDD ist Test Driven Development und SOLID ist dabei eine Abkürzung für 5 andere Abkürzungen:
- SRP - Single Responsibility Principle
- OCP - Open Closed Principle
- LSP - Liskov Substitution Principle
- ISP - Interface Segregation Principle
- DIP - Dependency Inversion Principle
Die Idee an CCD ist es, langsam und Schritt für Schritt an die SOLID-Prinzipien und damit zu TDD hinzuführen, ohne dabei gleich von Anfang an alles berücksichtigen zu müssen. Das wäre sowieso zu viel auf einmal.
Ich frage nun mich - und Euch - ob ihr Denkt, dass das 'Handwerkszeug' und der 'Werkzeugkasten' eines Entwicklers hier einen Platz haben sollte. Es geht nicht um eingefahrene Methodologien, sondern um sauberen, aufgeräumten, wartbaren und automatisiert testbaren Code (die SOLID-Prinzipien sorgen im Prinzip für testbaren Code, zu dem man bitte auch vorher schon Tests schreibt).
Wollen wir Software Entwicklung als Handwerk sehen und an unseren handwerklichen Fähigkeiten arbeiten? Soll es eine Sparte in der
DP-Geben, die sich um 'Clean Code', vollkommen Sprachneutral, dreht?
Ich finde das wäre eine gute Idee, aber dazu sollten genug Leute aus der Community mitmachen, damit sich eine eigene Sparte lohnt und Daniel überzeugt davon ist dass sich das rentiert
Edit Nachtrag: Ein Link zu den SOLID-Prinzipien (englisch)
http://www.lostechies.com/blogs/chad...rinciples.aspx