Learn the principles and practices of Clean Code Development. This is the second session in the Clean Code Development track. Go on with the next level and dig into Clean Code.
overlap • Implementation reflects design • You ain‘t gonna need it (YAGNI) • Practices • Continuous Delivery • Iterative development • Component-oriented development • Test first
Does not contain implementation details • Architects/Dev-Leads do component design • Devs implement components with no need of architecture design • Structure cannot be changed simply by implementation
and most violated discipline • Why? • Unclear requirements spec • Inaccurate products should compensate inaccurate requirements • „Immateriality“ of code is used for creating fat code to be flexible
quality (this isn‘t used by anyone, so why fix it) • Do you really need it? Event if effort is minimal • Implement only, what requirements and quality demand
releases, automate them • Keep QA efforts low – automate tests, where possible (it‘s possible in 99,5%) • Automation is the key in reducing „human mistakes“ • One button deployments • Example: Flickr deploys multiple times to production a day
complex for one-shot • Multiple „releases“ provide fundament for regular feedbacks • Learn from iteration to iteration • Iterations between 2 and 4 weeks are optimal
fails (compilation failure is as well a failure) 2.You are only allowed to write as much test code that is necessary to let your test fail 3.You are only allowed to write as much production code that is necessary to let your test pass. Start over with 1
under your control • Reduction of QA • Write it once, use it multiple times • Avoid risk of tight coupling • Initial effort a bit higher, but it pays off