Colin Jones discusses applying the SOLID OOP principles to Clojure programming in order to create systems that are easy to change.
Nat Pryce considers that we cannot write the perfect code because it is never fully prepared for the coming change, so he suggests embracing impermanence & continual imperfection.
Stuart Halloway shares advice on creating evident code that scales. Evident code is software that clearly expresses its meaning and purpose.
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
William Pugh explains how to use FindBugs, a Java static code analysis tool, to discover bugs. The talk covers general issues regarding code bugs with advice on how to make sure you get rid of them.
Erik Dörnenburg shares techniques for estimating code quality by collecting and analyzing data using the toxicity chart, metrics tree maps, size&complexity pyramid, complexity view, code city, etc.
Brian Foote wonders in this session if the quest for clean or beautiful code makes sense in a bottom-line obsessed business world.
Ahmed Syed explains how to use testing and defect management in an Agile project to ensure product quality, addressing design quality, legacy systems, and how build management affects quality.
Joshua Kerievsky invites developers to start thinking as entrepreneurs, writing code that is “good enough” for the purpose it is supposed to serve rather than write elaborate code that is beautiful.
Michael Feathers analyzes real code bases concluding that code is not nearly as beautiful as designers aspire to, discussing the everyday decisions that alter the code bit by bit.
Jez Humble discusses innovating using a Lean startup approach and overcoming innovation barriers in enterprises along with engineering practices useful for rapid delivery of quality software.