Skip to content

Instantly share code, notes, and snippets.

@johnmcfarlane
Created March 4, 2025 13:57
Show Gist options
  • Save johnmcfarlane/fb365c6b81a23195897d7cf461d336ce to your computer and use it in GitHub Desktop.
Save johnmcfarlane/fb365c6b81a23195897d7cf461d336ce to your computer and use it in GitHub Desktop.
Essential

Essential Principles

Commonly occuring good advice.

Complexity

  • Avoid complexity.
  • Encourage simplicity.

Resources

Coupling and Cohesion

Examples

  • Functions
  • Classes
  • Source files / modules
  • Packages / projects
  • Teams

Graphs

Many phenomena are modelled by graphs. Some properties of graphs make them more difficult to work with. Trying to engineer the phenomena to affect these properties can have significant effects on complexity.

Cyclic Dependencies

Examples

  • CI pipelines which are triggered by pushes, and also cause pushes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment