DevTips

Abstract Factory Pattern

Acyclic Dependencies Principle

Adapter Pattern

Andon Cord

Assertion Roulette

Behavior Verification

Blue Green Deployment

Boolean Arguments

Build For Testability

Canary Release

CI Theatre

Command-Query Separation

Compliance with NFRs

Cyclomatic Complexity

Dark Launch

Dead Code

Decorator Pattern

Defect Localization

Delivering MMPs

Dependency Inversion Principle

Developer or Engineer

Domain Model

Eager Test

Exception Handling

Extract Function

Extract Variable

Facade Pattern

Factory Method Pattern

Fragility

Frequent Check-Ins

Fresh Fixture

Function Size

Guard Assertion

Humble Object

I’ll Fix It Later

Immobility

Improving Design

Interface Segregation Principle

Law of Demeter

Liskov Substitution Principle

London vs Chicago TDD

Monolith

Naming Conventions

Needless Complexity

Obscure Tests

Open/Closed Principle

Plug-in Architecture

Polymorphic Dispatch

Readability

Refactor, Then Optimize

Refactoring

Repeatable Tests

Rigidity

Robust Tests

Safety Net

Shared Fixture

Shift Left

Simple Design

Slide Statements

Slow Tests

Small Releases

Software Evolution

Split Loop

Single Responsibility Principle

Stable Abstractions Principle

Stable Dependencies Principle

State Verification

Strangler Pattern

Structure Matters

Switch Statements

TDD ≠ ATDD

Tell, Don't Ask

Test Hook

Test Overlap

Train Wreck

Trunk-Based Development

Two Hats

Viscosity

You Aren't Gonna Need It

Training

Agile

The Technical Discipline of Being Agile™

Craftsmanship

Principles & Practices of Test-Driven Development

Unit Testing and Beyond

DevOps

Managing Technical Debt

Links

;