Operationalized guidance

Programming With Intent

Four pillars covering how code is structured, written, verified, and how it fails. Each rule is specific enough to apply the same way twice.

Programming With Intent began as a long-running video series. The chapters below carry that material as text, with worked examples in Python and C#.

Guidance is written to be applied rather than admired. Most rules exist because a specific class of defect kept recurring, and the chapter says which one.

Recurring phrases run through the chapters, and their canonical meanings live in the Aphorism Glossary. Each definition lists the chapters that invoke it.

One of the four pillars sits in the top-level navigation in its own right. Verification with Intent isAcceptance Testing, promoted because functional acceptance testing at the boundary is the practice that earns confidence to ship. Its chapters live there rather than being copied here.

The four pillars

Design patterns

Factories, configuration and service boundaries explained through their responsibilities and worked examples. Browse all design pattern articles.

All topics

21 topics. Chapter numbers are deliberately absent, because the two language families number their chapters independently.

  • Architecture LayersPythonC#Language-independent
  • Class DesignPythonC#Language-independent
  • Method DesignPythonC#Language-independent
  • Naming ConventionsPythonC#Language-independent
  • Configuration ProviderC#Language-independent
  • Gateway Design PatternC#Language-independent
  • Programming to Exceptions seriesC#Language-independent

    Method contracts, exception design, and logging in one shared reading sequence.

  • Factory PatternC#Language-independent
  • Factory Method PatternC#Language-independent
  • Type AnnotationsPython
  • LINQ Query SemanticsC#
  • Messaging PatternsPythonC#Language-independentNot yet published
  • Anti-PatternsPythonLanguage-independentNot yet published
  • Encapsulating Third-Party LibrariesPythonLanguage-independentNot yet published
  • Boundary ValidationPythonLanguage-independentNot yet published
  • Code Correctness and Runtime SafetyPythonLanguage-independentNot yet published
  • Intentional Model DesignPythonLanguage-independentNot yet published
  • Adapter PatternPythonLanguage-independentNot yet published
  • Decorator PatternPythonLanguage-independentNot yet published

    Marked language-independent on the assumption this is the GoF pattern. If the chapter is about Python's @ decorator syntax, scope should be 'python'.

  • Python Language StylePythonNot yet published
  • Data Manager DesignC#Language-independentNot yet published

    Examples are C# today.