Ten low-level, generic advices. Too low level to do any good in larger
picture, and too generic to be applicable in real life as-is. The only
exception is not interrupting people when they are in the middle of work.
There are several high-level advices that are similarly generic: break up your
program to subsystems of clearly defined interface and purpose, make the
subsystems composable by not loading them with too many purposes, don't mix
high-level and low-level purposes or operations in the same interface, avoid
putting dependencies on other modules or services unless necessary, and know
which operation belongs to which module. Those make good programmer, not
minutiae about creating identifiers.
There are several high-level advices that are similarly generic: break up your program to subsystems of clearly defined interface and purpose, make the subsystems composable by not loading them with too many purposes, don't mix high-level and low-level purposes or operations in the same interface, avoid putting dependencies on other modules or services unless necessary, and know which operation belongs to which module. Those make good programmer, not minutiae about creating identifiers.