StackPractices

design

Practical resources about design for software engineers.

150 results

Patterns for Maintainable Code

Design patterns are not cookbook recipes — they are a shared vocabulary for discussing solutions to recurring problems. Knowing when to apply (and when to avoid) a pattern is a hallmark of senior engineering.

Browse our catalog of creational, structural, and behavioral patterns. Each entry includes a real-world scenario, UML diagrams, implementation in multiple languages, and a discussion of trade-offs. From Singleton to Outbox, find the right tool for your context.

intermediate

Refactoring Techniques: A Complete Guide

Master the essential refactoring techniques — extract method, move function, guard clauses,...

intermediate

Technical Debt: Track, Prioritize, Pay Down

A working system for technical debt: debt register, impact-vs-effort prioritization, paydown...

intermediate

Database Normalization — 1NF to 5NF Explained

A visual guide to database normalization: learn 1NF through 5NF with practical examples, when to...

database-normalization database-design guide
beginner

Code Review Best Practices: Authors and Reviewers

A practical guide to useful code reviews: how to write reviewable code, give constructive feedback,...

intermediate

Practical Design Patterns Guide

Pick the right design pattern for each problem: Singleton, Factory, Observer, Strategy and more,...

intermediate

SOLID Principles Explained with Examples

Learn the five SOLID principles with bad-vs-good code examples and a full before/after refactor of...

intermediate

Complete Guide to CSS Grid and Flexbox

Master CSS layout: Grid vs Flexbox, template areas, subgrid, container queries, logical properties...

intermediate

Complete Guide to Mobile Responsive Design

Build layouts that work on every screen. Mobile-first breakpoints, Grid, Flexbox, container...

intermediate

Threat Modeling — A Practical Guide for Development Teams

A step-by-step guide to threat modeling: STRIDE, attack trees, data flow diagrams, and integrating...

beginner

Test-Driven Development (TDD) — A Practical Workflow

Learn TDD step by step: write a failing test, make it pass, refactor. Red-Green-Refactor with real...

No results found.