Software Craftsmanship

Scott Bain is presenting Software Craftsmanship at the monthly meeting of the Seattle Software Craftsmanship Community.

Design patterns are often thought of as “solutions to recurring problems in a context.” However, the patterns are really about a way to think about solving design problems. The essence of design patterns is to consider what can vary in your design and then isolate the effect of that variation. Refactoring is often thought of as cleaning up code while not adding functionality. However, there is another side to refactoring – improving the design of high-quality code when changing requirements have made the design less than ideal. Test-Driven Development is not so much about testing as it is about analysis with tests and automatic verification that code has not been broken. These three thought processes can be combined to enable designs to evolve as requirements and understanding change – the basis of emergent design.

This combination of design patterns, refactoring and TDD provide developers a way to consistently have high quality code and designs without adding unnecessary complexity. This is particularly important in today’s development world when software projects must be turned around quickly and then enhanced in the near future. Speed of development while maintaining low technical debt is essential.

This talk will show how design patterns can guide refactoring to enable designs to evolve. This evolutionary method has little overhead, but requires discipline and understanding. It is useful to achieve flexibility without unneeded complexity or high technical debt. Techniques such as refactoring to the open closed, separating use from construction and the value of considering tests prior to writing code will be presented.

All the Details

Free Event
Apr. 26, 2013 1:30am PDT
Cost: Free
Getty Images, 4th floor
605 5th Ave S

Seattle WA 98104 US
Questions or problems with registration or directions? Contact Mike Shalloway for assistance.
Presented By:
Net Objectives

Share This Event