Abstract: This session will help you quantify key software qualities that drop the cost of testing, maintaining, and extending code. Quality in delivered software is intangible and different from quality in physical goods. Some external attributes of software quality—free from defects and easy to maintain—are reflections of the code’s internal qualities. When we build classes and methods that are cohesive, non-redundant, well-encapsulated, assertive, testable, and explicitly coupled, they are less prone to bugs and far easier to read, test, debug, and maintain. Paying attention to these code qualities helps focus us on the principles, patterns, and practices used by expert developers.
If you don’t pay attention to critical code quality attributes, iterative development practices can quickly degrade code into a maintenance nightmare. Join software development consultant and author David Bernstein and take a deep dive into the code qualities that make software more maintainable and less bug-friendly. Create software that not only provides value now but is easy to change and extend so it can continue to deliver value far into the future.
Learning Outcomes: - Explore six code qualities that make code easier to change
- Identify six code pathologies and why they’re bad
- Use the Single Responsibility Principle to increase cohesion
- Distinguish between redundancy and duplication
- Understand encapsulation as hiding “how” with “what”
- Increase assertiveness of code by keeping state with behavior
- See how testability directly reflects code quality
Attachments: