Skip to content

Instantly share code, notes, and snippets.

@orangecms
Last active November 23, 2021 01:32
Show Gist options
  • Save orangecms/de1c28d27fad36cfa07e034a6a9376b9 to your computer and use it in GitHub Desktop.
Save orangecms/de1c28d27fad36cfa07e034a6a9376b9 to your computer and use it in GitHub Desktop.
Modern Software Engineering and Terminology

Modern SE and Terminology (t9y, [ti-nee])

Motivated by Bryan Cantrill, who brought up the abbreviation o11y for observability and is well known for his work on DTrace and blogging about his views on software, here are further ideas and thoughts on modern software engineering, explaining desirable properties of a software project and working with it for continuous improvement, longevity, and general sustainability, from cooperation to long-term maintenance.

full expression abbrev. reading
reviewability r11y [ral-ee]
comprehensibility c15y [cis-ee]
reusability r09y [ron-ee]
hookability h09y [hon-ee]
observability o11y [oll-ee]
debuggability d11y [dil-ee]
reproducibility r13y [rib-ee]

Reviewability

Check your patch, or have it done automatically. Is it consistent with others?

Comprehensibility

Have a peer review your work. Can they grasp it?

Reusability

If applicable to multiple contexts, is your code split up, offering interfaces?

Hookability

Mind your setup. Does it allow for isolating individual components?

Observability

Look at your module. When hooking into it, can you monitor its behavior?

Debuggability

When observing a module, do you have the information necessary to spot issues?

Reproducibility

Create a build, run a test. Is there guarantee for a deterministic result?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment