Skip to main content

48 docs tagged with "best-practices"

View all tags

Accessibility

Build inclusive software that works for users with disabilities and diverse abilities.

Build, Test, and Scan

Automate compilation, testing, and security scanning to catch issues before production.

CQRS and Read Models

Separate read and write models to optimize for different access patterns and enable flexible data transformation.

Database Per Service

Isolate service data with dedicated databases to maintain independence and prevent tight coupling.

Dependency Inversion Principle

High-level modules should not depend on low-level modules; both should depend on abstractions. Invert the dependency flow.

DRY: Don't Repeat Yourself

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

Event Sourcing

Store the complete history of changes as immutable events rather than storing only the current state.

Fail Fast

Detect and report errors immediately to prevent silent failures, data corruption, and cascading problems.

Law of Demeter

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

Log Levels and Governance

Use log levels strategically, enforce consistency across teams, and optimize storage costs while maintaining debuggability.

Log Retention and Privacy

Manage log lifecycle responsibly: comply with regulations, protect sensitive data, and optimize retention periods.

Metrics and Monitoring

Measure system behavior with metrics using RED and USE methods to identify performance issues.

Open/Closed Principle

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

Runbooks and On-Call

Guide incident response with runbooks; structure on-call rotations for coverage and sustainability.

Webhooks

Push events to external systems reliably with webhooks