Personal micro-design heuristics for writing and refactoring code - naming conditions, placing responsibilities, value objects, rich entities, predicates, duplication, names, comments, and how far a refactoring should go. Use whenever writing new code or refactoring existing code, in any language or repository, even if the user does not mention clean code or design. Does not cover tests or architecture.