Be aware of the Makefile effect
Tools of a certain complexity or routine unfamiliarity are not run de novo, but are instead copy-pasted and tweaked from previous known-good examples.
Hasnain says:
I've never seen a name put to this, though in hindsight I've seen it a lot. Worth pondering.
"In general, I think well-designed tools (and systems) should aim to minimize this effect. This can be hard to do in a fully general manner, but some things I think about when designing a new tool:
* Does it need to be configurable?
* Does it need syntax of its own?
* As a corollary: can it reuse familiar syntax or idioms from other tools/CLIs?
* Do I end up copy-pasting my use of it around? If so, are others likely to do the same?"