{"id":14,"date":"2015-04-26T14:00:28","date_gmt":"2015-04-26T12:00:28","guid":{"rendered":"http:\/\/ccd.ralfw.domainfactory-kunde.de\/?page_id=14"},"modified":"2021-12-21T09:45:26","modified_gmt":"2021-12-21T08:45:26","slug":"die-tugenden","status":"publish","type":"page","link":"https:\/\/clean-code-developer.de\/die-tugenden\/","title":{"rendered":"Die Tugenden"},"content":{"rendered":"<h2>Prinzipielles<\/h2>\n<h3>1. Sch\u00e4tze Variation (Value Variation (VV))<\/h3>\n<p>Werte: Wandelbarkeit, Kontinuierliche Verbesserung<\/p>\n<h3>2. Tue nur das N\u00f6tigste (Do Only What\u00b4s Neccessary (DOWN))<\/h3>\n<p>Werte: Produktionseffizienz, Wandelbarkeit<\/p>\n<p>Vorsicht vor Optimierungen! (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/roter-grad\/#Vorsicht_vor_Optimierungen\">roten Grads<\/a>)<br \/>\nYou Ain\u00b4t Gonna Need It (YAGNI) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/blauer-grad\/#You_Aint_Gonna_Need_It_YAGNI\">blauen Grads<\/a>)<br \/>\nKeep it simple, stupid (KISS) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/roter-grad\/#Keep_it_simple_stupid_KISS\">roten Grads<\/a>)<\/p>\n<h3>3. Isoliere Aspekte (Isolate Aspects (IA))<\/h3>\n<p>Werte: Wandelbarkeit<\/p>\n<p>Don\u00b4t Repeat Yourself (DRY) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/roter-grad\/#Dont_Repeat_Yourself_DRY\">roten Grads<\/a>)<br \/>\nSeparation of Concerns (SoC) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/orangener-grad\/#Separation_of_Concerns_SoC\">orangenen Grads<\/a>)<br \/>\nSingle Level of Abstraction (SLA) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/orangener-grad\/#Single_Level_of_Abstraction_SLA\">orangenen Grads<\/a>)<br \/>\nSingle Responsibility Principle (SRP) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/orangener-grad\/#Single_Responsibility_Principle_SRP\">orangenen Grads<\/a>)<br \/>\nInterface Segregation Principle (ISP) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/gelber-grad\/#Interface_Segregation_Principle_ISP\">gelben Grads<\/a>)<br \/>\nEntwurf und Implementation \u00fcberlappen nicht (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/blauer-grad\/#Entwurf_und_Implementation_berlappen_nicht\">blauen Grads<\/a>)<br \/>\nIntegration Operation Segregation Principle (IOSP) (Prinzip des <a href=\"http:\/\/clean-code-developer.de\/die-grade\/roter-grad\/\">roten Grads<\/a>)<\/p>\n<h3>4. Minimiere Abh\u00e4ngigkeiten (Minimize Dependencies (MD))<\/h3>\n<p>Werte: Wandelbarkeit<br \/>\nDependency Inversion Principle<br \/>\nInformation Hiding Principle<br \/>\nLaw of Demeter<br \/>\nOpen Closed Principle<br \/>\nTell, don\u00b4t ask<br \/>\nInterface Segregation Principle (ISP)<br \/>\nIntegration Operation Segregation Principle (IOSP) (Prinzip des\u00a0<a href=\"http:\/\/clean-code-developer.de\/die-grade\/roter-grad\/\">roten Grads<\/a>)<\/p>\n<h3>5. Halte Versprechen ein (Honor Pledges (HP))<\/h3>\n<p>Werte: Wandelbarkeit<\/p>\n<p>oder auch: Minimize Surprises<\/p>\n<p>Liskov Substitution Principle<br \/>\nPrinciple of Least Astonishment<br \/>\nImplementation spiegelt Entwurf<br \/>\nFavour Composition over Inheritance (FCoI)<\/p>\n<h2>Praktisches<\/h2>\n<h3>1. Umarme Unsicherheit (Embrace Uncertainty (EU))<\/h3>\n<p>Werte: Wandelbarkeit, Kontinuierliche Verbesserung<\/p>\n<p>Ein Versionskontrollsystem einsetzen<br \/>\nAutomatisierte Integrationstests<br \/>\nAutomatisierte Unit Tests<br \/>\nMockups (Testattrappen)<br \/>\nContinuous Integration<br \/>\nInversion of Control Container<\/p>\n<h3>2. Fokussiere (Focus (F))<\/h3>\n<p>Werte: Produktionseffizienz<\/p>\n<p>Komponentenorientierung<br \/>\nTest first<br \/>\nLimit WIP \/\/ neu<\/p>\n<h3>3. Wertsch\u00e4tze Qualit\u00e4t (Value Quality (VQ))<\/h3>\n<p>Werte: Produktionseffizienz<\/p>\n<p>Akzeptiere nur hohe Qualit\u00e4t \/\/ neu<br \/>\nAutomatisierte Unit Tests<br \/>\nReviews<\/p>\n<h3>4. Mach fertig (Get Things Done (GTD))<\/h3>\n<p>Werte: Produktionseffizienz<\/p>\n<p>Iterative Entwicklung<br \/>\nContinuous Delivery<br \/>\nLimit WIP<\/p>\n<h3>5. Halte Ordnung (Stay Clean (SC))<\/h3>\n<p>Werte: Wandelbarkeit, Korrektheit, Produktionseffizienz<\/p>\n<p>Die Pfadfinderregel beachten<br \/>\nKomplexe Refaktorisierungen<br \/>\nEinfache Refaktorisierungsmuster anwenden<br \/>\nStatische Codeanalyse (Metriken)<br \/>\nCode Coverage Analyse<br \/>\nSource Code Konventionen \/\/ ehemals Prinzip<\/p>\n<h3>6. Bleib am Ball (Keep Moving (KM))<\/h3>\n<p>Werte: Kontinuierliche Verbesserung<\/p>\n<p>Lesen, Lesen, Lesen<br \/>\nTeilnahme an Fachveranstaltungen<br \/>\nErfahrung weitergeben<br \/>\nT\u00e4glich reflektieren<br \/>\nRoot Cause Analysis<br \/>\nMessen von Fehlern<br \/>\nIssue Tracking<br \/>\nRegelm\u00e4\u00dfige Retrospektiven \/\/ neu<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Prinzipielles 1. Sch\u00e4tze Variation (Value Variation (VV)) Werte: Wandelbarkeit, Kontinuierliche Verbesserung 2. Tue nur das N\u00f6tigste (Do Only What\u00b4s Neccessary (DOWN)) Werte: Produktionseffizienz, Wandelbarkeit Vorsicht vor Optimierungen! (Prinzip des roten Grads) You Ain\u00b4t Gonna Need It (YAGNI) (Prinzip des blauen Grads) Keep it simple, stupid (KISS) (Prinzip des roten Grads) 3. Isoliere Aspekte (Isolate Aspects [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":3,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":5,"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":688,"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/pages\/14\/revisions\/688"}],"wp:attachment":[{"href":"https:\/\/clean-code-developer.de\/wp-json\/wp\/v2\/media?parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}