InfoQ Homepage Software Craftsmanship Content on InfoQ
-
Master-Builders Have Rich Conceptual Models of Software Design
George Fairbanks stresses the importance of having a good grasp of various conceptual models in order to be a master-builder, translated into development as “learn your software architecture”.
-
Building Rich User Experiences without JavaScript Spaghetti
Jared Faris provides 3 principles –decouple everything, make it testable, push events not state – and some patterns which help avoiding creating JavaScript spaghetti code over time.
-
SOLID Clojure
Colin Jones discusses applying the SOLID OOP principles to Clojure programming in order to create systems that are easy to change.
-
Stop Refactoring!
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.
-
Evident Code, at Scale
Stuart Halloway shares advice on creating evident code that scales. Evident code is software that clearly expresses its meaning and purpose.
-
Nothing Is Permanent Except Change - How Software Architects Can Embrace Change
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
-
Technical Debt - Why You Should Care
Felipe Rubim discusses several forms of technical debt, emphasizing that every member of the team should consider it, and suggesting taking concrete steps in measuring and reducing it.
-
Effective Use of FindBugs in Large Software Development Efforts
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.
-
Software Quality - You Know It When You See It
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.
-
Who Ever Said Programs Were Supposed to be Pretty?
Brian Foote wonders in this session if the quest for clean or beautiful code makes sense in a bottom-line obsessed business world.
-
Zero Defects : Baking Quality into the Agile Process
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.
-
Sufficient Design: Quality In Sync With Business Context
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.