Maintaining clean code & making realistic dev time estimates.

  1. :clamp: KISS keep it simple, stupid

  2. :repeat_one: code may be duplicated ONCE
  3. :hourglass: “small” last-mile problems are often hard
  4. :confounded: over-optimisation: never sacrifice clarity for efficiency
  5. :label: use naming conventions for identifiers (variables, types, functions)
    • easier to read & understand (and thus maintain) code
    • sane style (e.g. no extra-long names nor unclear abbrev.)
    • holy wars over what style to pick are not important; just pick one consistently
    • tips:
      • descriptive of contents
      • or common lang-specific practice (e.g. i, j, k for indices)
      • subprogram names: use verb phrases; i.e. ONE – see rule (1) above – activity description
      • variable names: nouns (things) or adjectives (attributes)
      • difficulty finding a name indicates code needs refactoring, better design, clarification of purpose of subprograms/variables