Better Software West 2017 - Design & Code
Thursday, June 8
Application Resiliency: Keys to Planning for IoT and the Cloud
PreviewThe technology storms continue to form and merge. The Internet of Things, software-defined everything, blockchain, and cloud computing are combining and recombining in new ways. To provide and consume trusted and resilient services, solutions must be defined and designed to accommodate failure. Although the term resiliency is seldom defined, clarified, or used in a meaningful context, it is often used to describe applications. However, this vagueness leads to rework, cost overrun, frustration, and most importantly, solutions that do not provide the resilience required by the...
Six Ways to Improve Class Design for Better Software
Decomposing a system design into small classes with narrow responsibilities is essential for creating a maintainable software product. However, without guidance, it can often be difficult—especially for new software developers—to see how a large class might be broken down into smaller pieces. The problem usually isn’t knowing how to make a change, it’s knowing what change to make. Max Guernsey shares six techniques that can ease the burden of identifying smaller design elements. These include direct examination of code qualities, modeling real-world entities, responding to code smells,...