DevIQ Docs
CTRL K
    • Documentation
      • Design Patterns
        • Mediator Pattern
        • Observer Pattern
        • Adapter Design Pattern
        • Repository Pattern
        • Strategy Design Pattern
        • Proxy Pattern
        • Builder Design Pattern
        • Design Patterns
        • Factory Method Pattern
        • Object Mother Pattern
        • Chain of Responsibility Pattern
        • Decorator Design Pattern
        • Rules Engine Pattern
        • Abstract Factory Design Pattern
        • Memento Pattern
        • CQRS - Command Query Responsibility Segregation
        • Facade Pattern
        • Strangler Fig Design Pattern
        • REPR Design Pattern
        • State Design Pattern
        • Guard Clause
        • Specification Pattern
        • Singleton
        • Null Object Pattern
        • Domain Events Pattern
      • Principles
        • Separation of Concerns
        • Don't Repeat Yourself
        • Hollywood Principle
        • Keep It Simple
        • Once and Only Once
        • YAGNI
        • Boy Scout Rule
        • Encapsulation
        • Explicit Dependencies Principle
        • Dependency Inversion Principle
        • Interface Segregation Principle
        • Liskov Substitution Principle
        • Open-Closed Principle
        • Principles
        • Single Responsibility Principle
        • SOLID
        • Inversion of Control
        • Principle of Least Astonishment: A Software Design Guideline
        • Principle of Architectural Agility
        • Tolerance for Imperfection in Software Architecture
        • Fail Fast
        • Stable Dependencies
        • Persistence Ignorance
        • Tell, Don't Ask
      • Practices
        • Single Point of Enforcement
        • YOLO Software Architecture
        • Code Readability
        • Collective Code Ownership
        • Dependency Injection
        • Dogfooding
        • Know Where You Are Going
        • Naming Things
        • Pair Programming
        • Read the Manual
        • Shipping Is A Feature
        • Simple Design
        • Whole Team
        • Whole Team Activity
        • The 50/72 Rule of Git
        • Parse, Don't Validate
        • Practices from Code That Fits in Your Head
        • Red, Green, Refactor
        • Refactoring
        • Test Driven Development
        • Vertical Slices
        • Observability
        • Common Architectural Vision
        • Continuous Integration
        • Defensive Programming
        • Authentication
        • Authorization
        • Behavior Driven Development
        • Timeboxing: A Time Management Technique for Improved Productivity
        • Practices
          • Practices
        • Rubber Duck Debugging
        • Descriptive Error Messages
        • Update the Plan
        • Pain Driven Development
      • Antipatterns
        • Big Ball of Mud
        • Witches' Brew Architecture: A Software Antipattern
        • Assumption Driven Programming
        • Calendar Coder
        • Copy Paste Programming
        • Death by Planning
        • Death March
        • Duct Tape Coder
        • Fast Beats Right
        • Feature Creep
        • Found on Internet
        • Frankencode
        • Golden Hammer
        • Iceberg Class
        • Mushroom Management
        • Not Invented Here
        • One Thing To Rule Them All
        • Reinventing the Wheel
        • Shiny Toy
        • Smoke and Mirrors
        • Spaghetti Code
        • The Blob
        • Walking Through a Minefield
        • Waterfall
        • Code Smells
        • Flags Over Objects
        • Static Cling
        • Big Design Up Front (BDUF): A Software Development Antipattern
        • Frozen Caveman: A Software Development Antipattern
        • The Last 10% Trap: A Software Architecture Antipattern
        • Architecture by Implication: An Antipattern in Software Design
        • Analysis Paralysis
        • Service Locator Antipattern in Software Development
        • Lois Lane Planning
        • Antipatterns
        • Broken Windows
        • Exposing Collection Properties
        • Magic Strings
        • Copy Folder Versioning
      • Domain-Driven Design
        • Shared Kernel in DDD
        • Aggregate Pattern
        • Anti-Corruption Layer
        • Bounded Context
        • Domain Driven Design
        • Domain Model in DDD
        • Domain Storytelling
        • Domains in DDD
        • Entity
        • EventStorming
        • Strategic Design in DDD
        • Subdomains in DDD
        • Tactical Design in DDD
        • Ubiquitous Language
        • Value Object
        • Context Mapping
        • Anemic Model
      • Laws
        • Moore's Law
        • Wirth's Law
        • Kerckhoffs's Principle (or Law) in Software Engineering
        • Gall's Law for Software Developers
        • Hofstadter's Law
        • Goodhart's Law: When Measures Become Targets
        • Hebb's Law
        • Anderson's Law
        • The Law of Demeter
        • Linus's Law: Understanding the Wisdom of Collective Code Review
        • Understanding Amdahl's Law: Unlocking the Secrets of Parallel Computing
        • The Law of Diminishing Returns: An Economic Principle with Applications in Software Development
        • Amara's Law: A Quick Guide on Technology Predictions
        • Brooks's Law: Understanding Its Implications in Software Development
        • Conway's Law: Unraveling the Connection Between Software and Organizations
        • Postel's Law
        • Laws of Software Architecture
        • Cunningham's Law
        • Laws Overview
        • Murphy's Law
      • Testing
        • Automated Tests
        • Front-End Tests
        • Functional Tests
        • Integration Tests
        • The Testing Pyramid
        • Unit Tests
        • Testing - Overview
        • Arrange-Act-Assert
      • Architecture
        • Layered Architecture
        • Modular Monolith
        • N-Tier Architecture
        • Clean Architecture
        • Event-Driven Architecture
        • Architecture
        • Vertical Slice Architecture
      • Values
        • Communication
        • Courage
        • Feedback
        • Respect
        • Simplicity
        • Values
      • Terms
        • Technical Debt
        • Terms - Overview
        • Kinds of Models
        • Bus Factor
      • Tools
        • Version Control
        • Tools - Overview
        • Build Server
      • Code Smells
        • Code Smells - Overview
        • Primitive Obsession Code Smell
    • Design Patterns
      • Mediator Pattern
      • Observer Pattern
      • Adapter Design Pattern
      • Repository Pattern
      • Strategy Design Pattern
      • Proxy Pattern
      • Builder Design Pattern
      • Design Patterns
      • Factory Method Pattern
      • Object Mother Pattern
      • Chain of Responsibility Pattern
      • Decorator Design Pattern
      • Rules Engine Pattern
      • Abstract Factory Design Pattern
      • Memento Pattern
      • CQRS - Command Query Responsibility Segregation
      • Facade Pattern
      • Strangler Fig Design Pattern
      • REPR Design Pattern
      • State Design Pattern
      • Guard Clause
      • Specification Pattern
      • Singleton
      • Null Object Pattern
      • Domain Events Pattern
    • Principles
      • Separation of Concerns
      • Don't Repeat Yourself
      • Hollywood Principle
      • Keep It Simple
      • Once and Only Once
      • YAGNI
      • Boy Scout Rule
      • Encapsulation
      • Explicit Dependencies Principle
      • Dependency Inversion Principle
      • Interface Segregation Principle
      • Liskov Substitution Principle
      • Open-Closed Principle
      • Principles
      • Single Responsibility Principle
      • SOLID
      • Inversion of Control
      • Principle of Least Astonishment: A Software Design Guideline
      • Principle of Architectural Agility
      • Tolerance for Imperfection in Software Architecture
      • Fail Fast
      • Stable Dependencies
      • Persistence Ignorance
      • Tell, Don't Ask
    • Practices
      • Single Point of Enforcement
      • YOLO Software Architecture
      • Code Readability
      • Collective Code Ownership
      • Dependency Injection
      • Dogfooding
      • Know Where You Are Going
      • Naming Things
      • Pair Programming
      • Read the Manual
      • Shipping Is A Feature
      • Simple Design
      • Whole Team
      • Whole Team Activity
      • The 50/72 Rule of Git
      • Parse, Don't Validate
      • Practices from Code That Fits in Your Head
      • Red, Green, Refactor
      • Refactoring
      • Test Driven Development
      • Vertical Slices
      • Observability
      • Common Architectural Vision
      • Continuous Integration
      • Defensive Programming
      • Authentication
      • Authorization
      • Behavior Driven Development
      • Timeboxing: A Time Management Technique for Improved Productivity
      • Practices
      • Rubber Duck Debugging
      • Descriptive Error Messages
      • Update the Plan
      • Pain Driven Development
    • Antipatterns
      • Big Ball of Mud
      • Witches' Brew Architecture: A Software Antipattern
      • Assumption Driven Programming
      • Calendar Coder
      • Copy Paste Programming
      • Death by Planning
      • Death March
      • Duct Tape Coder
      • Fast Beats Right
      • Feature Creep
      • Found on Internet
      • Frankencode
      • Golden Hammer
      • Iceberg Class
      • Mushroom Management
      • Not Invented Here
      • One Thing To Rule Them All
      • Reinventing the Wheel
      • Shiny Toy
      • Smoke and Mirrors
      • Spaghetti Code
      • The Blob
      • Walking Through a Minefield
      • Waterfall
      • Code Smells
      • Flags Over Objects
      • Static Cling
      • Big Design Up Front (BDUF): A Software Development Antipattern
      • Frozen Caveman: A Software Development Antipattern
      • The Last 10% Trap: A Software Architecture Antipattern
      • Architecture by Implication: An Antipattern in Software Design
      • Analysis Paralysis
      • Service Locator Antipattern in Software Development
      • Lois Lane Planning
      • Antipatterns
      • Broken Windows
      • Exposing Collection Properties
      • Magic Strings
      • Copy Folder Versioning
    • Domain-Driven Design
      • Shared Kernel in DDD
      • Aggregate Pattern
      • Anti-Corruption Layer
      • Bounded Context
      • Domain Driven Design
      • Domain Model in DDD
      • Domain Storytelling
      • Domains in DDD
      • Entity
      • EventStorming
      • Strategic Design in DDD
      • Subdomains in DDD
      • Tactical Design in DDD
      • Ubiquitous Language
      • Value Object
      • Context Mapping
      • Anemic Model
    • Laws
      • Moore's Law
      • Wirth's Law
      • Kerckhoffs's Principle (or Law) in Software Engineering
      • Gall's Law for Software Developers
      • Hofstadter's Law
      • Goodhart's Law: When Measures Become Targets
      • Hebb's Law
      • Anderson's Law
      • The Law of Demeter
      • Linus's Law: Understanding the Wisdom of Collective Code Review
      • Understanding Amdahl's Law: Unlocking the Secrets of Parallel Computing
      • The Law of Diminishing Returns: An Economic Principle with Applications in Software Development
      • Amara's Law: A Quick Guide on Technology Predictions
      • Brooks's Law: Understanding Its Implications in Software Development
      • Conway's Law: Unraveling the Connection Between Software and Organizations
      • Postel's Law
      • Laws of Software Architecture
      • Cunningham's Law
      • Laws Overview
      • Murphy's Law
    • Testing
      • Automated Tests
      • Front-End Tests
      • Functional Tests
      • Integration Tests
      • The Testing Pyramid
      • Unit Tests
      • Testing - Overview
      • Arrange-Act-Assert
    • Architecture
      • Layered Architecture
      • Modular Monolith
      • N-Tier Architecture
      • Clean Architecture
      • Event-Driven Architecture
      • Architecture
      • Vertical Slice Architecture
    • Values
      • Communication
      • Courage
      • Feedback
      • Respect
      • Simplicity
      • Values
    • Terms
      • Technical Debt
      • Terms - Overview
      • Kinds of Models
      • Bus Factor
    • Tools
      • Version Control
      • Tools - Overview
      • Build Server
    • Code Smells
      • Code Smells - Overview
      • Primitive Obsession Code Smell
    • Light

    • Dark

    • System

    On this page

    • Practices
    • Notable Books with Practice Lists
    Documentation
    Practices
    Practices

    Practices

    Good coding practices are important to good code. They can help to guide programmers through difficult problems, helping them when they get stuck, or preventing them from getting stuck at all.

    Practices

    • The 50/72 Rule
    • Authentication
    • Authorization
    • Behavior Driven Development
    • Code Readability
    • Collective Code Ownership
    • Common Architectural Vision
    • Continuous Integration
    • Dependency Injection
    • Descriptive Error Messages
    • Dogfooding
    • Know Where You Are Going
    • Naming Things
    • Observability
    • Pain Driven Development
    • Pair Programming
    • Parse, Don’t Validate
    • Read the Manual
    • Red, Green, Refactor
    • Refactoring
    • Shipping Is A Feature
    • Simple Design
    • Single Point of Enforcement
    • Test Driven Development
    • Timeboxing
    • Update the Plan
    • Vertical Slices
    • Whole Team
    • Whole Team Activity
    • YOLO Architecture

    Notable Books with Practice Lists

    • Practices from Code That Fits in Your Head
    Timeboxing: A Time Management Technique for Improved ProductivityRubber Duck Debugging
    Powered by Hextra
    © 2025 Hextra Project.