Skip to main content

24 docs tagged with "maintainability"

View all tags

API Contracts and Backward Compatibility

Design API contracts, implement semantic versioning, detect breaking changes, and evolve schemas while maintaining backward compatibility with existing clients.

Big Ball of Mud

Comprehensive guide to Big Ball of Mud in software architecture

DRY: Don't Repeat Yourself

Master DRY principle: eliminate knowledge duplication for maintainable code, improved consistency, and reduced bugs.

Encapsulate What Varies

Identify volatile aspects of your system and hide them behind stable interfaces to reduce coupling and change impact.

High Cohesion

Keep class responsibilities focused and strongly related to its purpose

High Cohesion, Low Coupling

Build systems where components relate strongly to their purpose while remaining loosely connected to other components.

Information Expert

Assign responsibility to the class that has the information needed to fulfill it

Law of Demeter

Master the Principle of Least Knowledge to reduce coupling and improve maintainability in complex systems.

Low Coupling

Minimize dependencies between classes to improve flexibility, testability, and maintainability

Open/Closed Principle

Software entities should be open for extension, closed for modification. Design for change without breaking existing code.

Separation of Concerns

Design systems where different areas address different aspects of functionality, improving modularity and maintainability.