{"id":4264,"date":"2020-06-17T09:49:55","date_gmt":"2020-06-17T07:49:55","guid":{"rendered":"https:\/\/test.viaboxx.de\/2020\/06\/17\/our-clean-code-developer-initiative\/"},"modified":"2023-07-11T10:08:38","modified_gmt":"2023-07-11T08:08:38","slug":"our-clean-code-developer-initiative","status":"publish","type":"post","link":"https:\/\/www.viaboxx.de\/en\/blog\/our-clean-code-developer-initiative\/","title":{"rendered":"Our Clean Code Developer initiative"},"content":{"rendered":"\n<p>Almost four months ago we started our initiative \u201c<em>Clean Code Developer @Viaboxx<\/em>\u201d which is closely aligned to an undertaking originally launched by the team around Stefan Lieser already several years ago <em>[1]<\/em>. The principles and (best) practices of CCD in turn are largely based upon the book \u201cClean Code\u201d by Martin Fowler, which for me belongs to one of the fundamental lectures for every serious software developer.<\/p>\n\n\n\n<p>The idea was to improve code quality at Viaboxx. Good quality leads to satisfied customers and enables us to react to changed requirements without the risk to lose stability or maintainability of our products.<\/p>\n\n\n\n<p>One essential thing I learned during my years as a developer is that there\u2019s no maintenance phase. Exceptions do exist: I once worked for a company that did not pay enough attention to code quality \u2013 leading to an enormous effort (i.e. Big money!) to eliminate sporadic bugs and unstable behavior without being able to deliver new features over a long time.<\/p>\n\n\n\n<p>The solution: <em>Empower every single developer to write good code and encourage them to improve bad code \u201con the fly\u201d!<\/em> Here comes the clean code initiative into play: it delivers lots of best practices and explains principles that lead to better code, all grouped into 5 colored grades. The concept is simple and reflects adult learning: \u201csmall appetizers, constant repetition\u201d. Each grade lasts 3 weeks during which we focus on the principles and practices assigned to that grade when writing software. In the end, you start all over again!<\/p>\n\n\n\n<p>Because we are unable to understand everything at once, I further divided each grade into parts. Before Corona came up, I hang out a new part of the current grade each week at a prominent place in our office. The goal was to achieve a high awareness of code quality by being present visually for everyone, every day. Now I post a message at the beginning of each week as a reminder, linking to the current part of the grade in our wiki.<\/p>\n\n\n\n<p>We now already \u201clived\u201d one complete cycle (<em>red &gt; orange &gt; yellow &gt; green &gt; blue<\/em>) and started last week with the red grade for the second time. Each developer can decide what to extract from each grade depending on the personal current state of knowledge. However, the person should \u201cdig deeper\u201d into each cycle. Speaking of myself, I experience a higher awareness of code quality as well as \u201csmelling\u201d bad code \u2013 and mostly knowing how to improve it! <\/p>\n\n\n\n<p>The CCD also leads to rising discussions to a higher, more abstract level. Taking reviews as an example, it might be sufficient to say: \u201cWell, that\u2019s YAGNI\u201d and, for the author, it should be clear what that means for his code. For me, personally, I would say I write quite good code by now \u2013 until the next code review proves me wrong. \ud83d\ude42 But, hey, it\u2019s all about learning and communication, isn\u2019t it? \ud83d\ude09<\/p>\n\n\n\n<p><em>[1]&nbsp;<a href=\"https:\/\/clean-code-developer.de\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/clean-code-developer.de<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Almost four months ago we started our initiative \u201cClean Code Developer @Viaboxx\u201d which is closely aligned to an undertaking originally launched by the team around Stefan [&hellip;]<\/p>\n","protected":false},"author":9,"featured_media":6669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","site-sidebar-layout":"default","site-content-layout":"default","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":"default","adv-header-id-meta":"","stick-header-meta":"default","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":"","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":""},"categories":[76],"tags":[248,247,246,250,249],"class_list":["post-4264","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code","tag-ccd","tag-clean-code","tag-clean-code-developer","tag-code","tag-code-quality"],"uagb_featured_image_src":{"full":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative.jpg",2200,700,false],"thumbnail":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-150x150.jpg",150,150,true],"medium":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-300x95.jpg",300,95,true],"medium_large":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-768x244.jpg",768,244,true],"large":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-1024x326.jpg",1024,326,true],"1536x1536":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-1536x489.jpg",1536,489,true],"2048x2048":["https:\/\/www.viaboxx.de\/wp-content\/uploads\/2020\/06\/Blog-Post-our-clean-code-developer-initiative-2048x652.jpg",2048,652,true]},"uagb_author_info":{"display_name":"Maurice Jutkeit","author_link":"https:\/\/www.viaboxx.de\/en\/blog\/author\/maurice-jutkeitviaboxx-de\/"},"uagb_comment_info":0,"uagb_excerpt":"Almost four months ago we started our initiative \u201cClean Code Developer @Viaboxx\u201d which is closely aligned to an undertaking originally launched by the team around Stefan [&hellip;]","_links":{"self":[{"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/posts\/4264"}],"collection":[{"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/comments?post=4264"}],"version-history":[{"count":1,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/posts\/4264\/revisions"}],"predecessor-version":[{"id":5271,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/posts\/4264\/revisions\/5271"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/media\/6669"}],"wp:attachment":[{"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/media?parent=4264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/categories?post=4264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.viaboxx.de\/en\/wp-json\/wp\/v2\/tags?post=4264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}