{"id":181,"date":"2015-03-28T07:37:11","date_gmt":"2015-03-28T07:37:11","guid":{"rendered":"http:\/\/invidit.de\/blog\/?p=181"},"modified":"2015-07-01T11:38:35","modified_gmt":"2015-07-01T09:38:35","slug":"basics-kenn-ich-doch-schon","status":"publish","type":"post","link":"https:\/\/invidit.de\/blog\/basics-kenn-ich-doch-schon\/","title":{"rendered":"Basics? Kenn&#8216; ich doch schon"},"content":{"rendered":"<p>Hallo Spa\u00df-Coder.<\/p>\n<p>Wer programmiert, kennt doch sicherlich alle Basics wie z.B. Namenskonvetionen, Code-Formatierung, Verwendung von Parametern und so weiter, oder? Klar! Alles schonmal geh\u00f6rt. Und genau das ist der Unterschied zwischen <strong>kennen<\/strong> und <strong>k\u00f6nnen<\/strong>, also dem &#8222;schon mal geh\u00f6rt&#8220; und dem tats\u00e4chlichen Anwenden dieser Grundgedanken eines guten Programmierstils.<\/p>\n<h2>Warum sind die Grundprinzipien wichtig f\u00fcr unsere Arbeit als Programmierer?<\/h2>\n<p>Nicht nur &#8222;Uncle Bob&#8220; (Robert C. Martin) weisst in seinem Buch &#8222;Clean Code&#8220; darauf hin, dass wir Programmierer Autoren sind. Unser Programmcode wird deutlich h\u00e4ufiger gelesen, als wir ihn schreiben. Und das nicht nur von uns selbst, sondern m\u00f6glicherweise von vielen verschiedenen Leuten. Habt ihr schonmal schlechten Code eines Kollegen oder aus anderer Quelle gelesen und nicht verstanden? Soll es so denen ergehen, die euren Code lesen? Das ist im beruflichen Alltag alles andere als wirtschaftlich, wenn ich immer wieder mehrere Minuten &#8211; oder sogar Stunden &#8211; damit verbringen muss, den Code, den ich \u00e4ndern muss\/will, zu verstehen. Ganz gleich wer ihn geschrieben hat. Wenn bereits nach wenigen Wochen nach dem Erstellen eines Programms eine wissenschaftliche Arbeit angefertig werden muss, um herauszufinden, was denn da im Code so genau geschieht, ist das alleine der Verdienst des Autors. Je nach Umfang des Programms, der Klasse oder Funktion w\u00e4re ein Neuschreiben manchmal besser.<\/p>\n<p><a href=\"http:\/\/invidit.de\/blog\/wp-content\/uploads\/2015\/03\/Zeit-Produktivit\u00e4t.png\"><img decoding=\"async\" loading=\"lazy\" class=\"  wp-image-244 alignright\" src=\"http:\/\/invidit.de\/blog\/wp-content\/uploads\/2015\/03\/Zeit-Produktivit\u00e4t.png\" alt=\"Zeit-Produktivit\u00e4t\" width=\"216\" height=\"168\" srcset=\"https:\/\/invidit.de\/blog\/wp-content\/uploads\/2015\/03\/Zeit-Produktivit\u00e4t.png 500w, https:\/\/invidit.de\/blog\/wp-content\/uploads\/2015\/03\/Zeit-Produktivit\u00e4t-300x233.png 300w\" sizes=\"(max-width: 216px) 100vw, 216px\" \/><\/a>Die nebenstehende Graphik findet ihr in \u00e4hnlicher Form auch im Netz. Sie verdeutlicht den oben beschriebenen Zusammenhang zwischen Entwicklungsgeschwindigkeit und Zeitverlauf bei einem Projekt \/ Produkt. Die Produktivit\u00e4t nimmt bei schlechter Code-Basis somit im laufe der Zeit immer weiter ab, bis nur noch eine Neuentwicklung m\u00f6glich ist oder das m\u00fchsame Qu\u00e4len durch den Codesumpf zum Alltag geh\u00f6rt (kein sch\u00f6ner Gedanke aber Tatsache).<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Wie k\u00f6nnen wir das besser machen? Was sollte unser Anspruch an uns selbst als Programmierer sein, die wir im weitesten Sinne Handwerker sind und stolz auf unsere Arbeit sein wollen? Und wenn nicht wir damit anfangen, so zu handeln, wer dann?<\/p>\n<p>&nbsp;<\/p>\n<h2>Einige Prinzipien im Detail<\/h2>\n<p>In der <a title=\"Basics - Artikelreihe\" href=\"http:\/\/invidit.de\/blog\/category\/basics\/\">Basics-Artikelreihe<\/a> wird eine kleine Auswahl von einfach und zugleich ungemein n\u00fctzlichen Regeln vorgestellt, deren Anwendung dazu beitr\u00e4gt, dass unser Code leserlicher und damit f\u00fcr andere besser verst\u00e4ndlich wird. Dar\u00fcber hinaus findet ihr viele weitere Richtlinien im Netz und in der Literatur. <strong>Wichtig dabei ist:<\/strong> sucht euch ein oder zwei dieser Regeln pro Woche aus und wendet diese gnadenlos an. So verinnerlicht ihr die relevanten Merkmale, ohne dass euch viele Regeln den Arbeitsalltag erschweren.<\/p>\n<p>Bleibt dran,<\/p>\n<p>Eure Spa\u00df-Coder<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hallo Spa\u00df-Coder. Wer programmiert, kennt doch sicherlich alle Basics wie z.B. Namenskonvetionen, Code-Formatierung, Verwendung von Parametern und so weiter, oder? Klar! Alles schonmal geh\u00f6rt. Und genau das ist der Unterschied zwischen kennen und k\u00f6nnen, also dem &#8222;schon mal geh\u00f6rt&#8220; und dem tats\u00e4chlichen Anwenden dieser Grundgedanken eines guten Programmierstils. Warum sind die Grundprinzipien wichtig f\u00fcr unsere [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":244,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[22,90],"tags":[23,18,26,24,25],"_links":{"self":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/181"}],"collection":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/comments?post=181"}],"version-history":[{"count":18,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/181\/revisions"}],"predecessor-version":[{"id":1292,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/posts\/181\/revisions\/1292"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media\/244"}],"wp:attachment":[{"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/media?parent=181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/categories?post=181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/invidit.de\/blog\/wp-json\/wp\/v2\/tags?post=181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}