{"id":10,"date":"2010-06-21T18:12:53","date_gmt":"2010-06-21T18:12:53","guid":{"rendered":"http:\/\/jowisoftware.de\/wp\/?p=10"},"modified":"2010-06-21T18:12:53","modified_gmt":"2010-06-21T18:12:53","slug":"clean-code","status":"publish","type":"post","link":"https:\/\/jowisoftware.de\/wp\/2010\/06\/clean-code\/","title":{"rendered":"Clean Code"},"content":{"rendered":"<p>Ich hatte diese Woche die Ehre, einmal mehr Stefan Lieser zu erleben. Stefan Lieser ist Berater und Trainer im Bereich Clean Code und hat in den letzten Jahren zusammen mit <a href=\"http:\/\/ralfw.blogspot.com\">Ralph Westphal<\/a> eine Frage gestellt: <a href=\"http:\/\/www.lieser-online.de\/blog\/?p=145\">Was macht einen professionellen Software Entwickler aus?<\/a><\/p>\n<p>Stephan Lieser stellte diese Frage an der Hochschule Bonn-Rhein-Sieg.<\/p>\n<p><!--more--><\/p>\n<p>Ich bin  gro&szlig;er Fan de Buchs &quot;Clean Code: A Handbook of Agile Software Craftsmanship&quot; von Robert C. Martin (a.k.a. Uncle Bob). Und genau diese Ans&auml;tze griffen  Stefan Lieser und Ralph Westphal auf und arbeiteten ein Wertesystem aus,  welches sie unter <a href=\"http:\/\/clean-code-developer.de\/\">www.clean-code-developer.de<\/a> zur Diskussion stellen.<\/p>\n<p>Diese  Woche stellte Frank Stefan Lieser Aspekte des Wertesystems in unserer Hochschule vor.  Und ich muss sagen: ich bin beeindruckt. Alles begann mit der Fragestellung  danach, was einen Professionellen Softwareentwickler ausmacht, und was ihn  wohlm&ouml;glich vom einfachen Programmierer unterscheiden. Relativ schnell wurde klar, dass  das Wissen alleine nicht ausreicht, es bedarf auch einer gewissen Ethik.  Diese Ethik, von CCD als &quot;Werte&quot; bezeichnet, wurden in ein System gegliedert. In einem Brainstorming wurde erarbeitet, welche Aspekte dazugeh&ouml;ren. Unter anderem wurde dabei der Begriff &quot;Software warten&quot; abgeschafft: Software braucht keinen &Ouml;lwechsel und besitzt keine Verschlei&szlig;teile. Software muss angepasst und weiterentwickelt werden.  Daf&uuml;r muss sie evolvierbar sein.<\/p>\n<p>Anschlie&szlig;end  folgten einige Interessante Diskussionen. Beispielsweise, warum sich UML nicht  als Universalwerkzeug eignet, besonders nicht bei der Planung von Software.  Auch interessant war die Frage nach Tests. Tests sind wichtig: zum einen  erwartet der Kunde automatisch, dass das Produkt einwandfrei funktioniert. Eine  geniale Analogie: &quot;Wenn ich in ein Gesch&auml;ft gehe, muss ich auch nicht explizit fragen, ob die Butter, die ich kaufen will, eventuell giftig sein  k&ouml;nnte.&quot; Zum anderen sorgen Tests aber in erster Linie f&uuml;r ein flexibles  Programmdesign.<\/p>\n<p>Dann gab  es ein kurzes Code-Review. Abschlie&szlig;end wurden die bekannten Armb&auml;nder  vorgestellt, welche den Programmierer stets daran erinnern sollen, welche Grunds&auml;tze  er einhalten soll.<\/p>\n<p>Fazit:  Wie Eingangs erw&auml;hnt bin ich von der Idee von Clean Code begeistert. Klar, man kann  es damit nat&uuml;rlich &uuml;bertreiben, aber ich behaupte, dass an vielen Stellen noch  viel zu wenig darauf geachtet wird. Die Rechnung kommt erst viel sp&auml;ter. Ohne  das ganze verg&ouml;ttern zu wollen: ich besitze die Armb&auml;nder ebenfalls und freue mich  auf weitere spannende Diskussionen zu dem Thema. Und wenn der geneigte Leser  die M&ouml;glichkeit hat, Stefan Lieser live zu erleben: er m&ouml;ge sie wahrnehmen!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich hatte diese Woche die Ehre, einmal mehr Stefan Lieser zu erleben. Stefan Lieser ist Berater und Trainer im Bereich Clean Code und hat in den letzten Jahren zusammen mit Ralph Westphal eine Frage gestellt: Was macht einen professionellen Software &#8230; <a class=\"more-link\" href=\"https:\/\/jowisoftware.de\/wp\/2010\/06\/clean-code\/\">Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,1],"tags":[],"class_list":["post-10","post","type-post","status-publish","format-standard","hentry","category-14-clean-code","category-1-smalltalk"],"_links":{"self":[{"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/posts\/10","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":0,"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"wp:attachment":[{"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jowisoftware.de\/wp\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}