Design and Craft: Being a Professional |
Exercise: Roman Numerals - Thinking in Terms of Objects |
Polymorphism for Powerful Substitution |
Exercise: Limits of Inheritance |
Exercise: Object Relationships |
Recursion or Iteration? |
Exercise: Change Loop to Recursion |
DRY: Don't Repeat Yourself |
Exercise: Refactor Duplicate Code |
Coupling and Cohesion |
Encapsulation: Hiding the Right Stuff |
Exercise: Data Hiding |
SOLID Principles |
Exercise: Refactor Switch Smell |
Exercise: Refactor Refused Bequest Smell |
SOLID in Action |
Code Smells and Refactoring |
Exercise: Finding and Fixing Poor Code |
Functional Programming: An Introduction |
Exercise: Simplifying Code with Functional Concepts |
Test-Driven Development |
Exercise: Test-Driven Development Practice |
Evolutionary Design: Growing Systems Effectively |
Exercise: Applying Evolutionary Design |
Design and Craft: Being a Professional |
Exercise: Roman Numerals - Thinking in Terms of Objects |
Polymorphism for Powerful Substitution |
Exercise: Limits of Inheritance |
Exercise: Object Relationships |
Recursion or Iteration? |
Exercise: Change Loop to Recursion |
DRY: Don't Repeat Yourself |
Exercise: Refactor Duplicate Code |
Coupling and Cohesion |
Encapsulation: Hiding the Right Stuff |
Exercise: Data Hiding |
SOLID Principles |
Exercise: Refactor Switch Smell |
Exercise: Refactor Refused Bequest Smell |
SOLID in Action |
Code Smells and Refactoring |
Exercise: Finding and Fixing Poor Code |
Functional Programming: An Introduction |
Exercise: Simplifying Code with Functional Concepts |
Test-Driven Development |
Exercise: Test-Driven Development Practice |
Evolutionary Design: Growing Systems Effectively |
Exercise: Applying Evolutionary Design |