Getting disgusted by seeing unnecessary complex and obfuscated code, and seeing how my own naive most obvious and intentfully explicit code describes the program execution like a story.
Oh, and if you have opportunity to start the codebase from scratch, making one semantic change per version control commit is insanely powerful explainer of how/why your code became as it is. They are like chapters/paragraphs in a story.
Also, separation of concerns: having clear separation of libraries and your "own" code. Including not mixing "business logic" (changing human rules/parameters/requirements) with technical non-human machinery.
Comments
Getting disgusted by seeing unnecessary complex and obfuscated code, and seeing how my own naive most obvious and intentfully explicit code describes the program execution like a story.
Oh, and if you have opportunity to start the codebase from scratch, making one semantic change per version control commit is insanely powerful explainer of how/why your code became as it is. They are like chapters/paragraphs in a story.
Also, separation of concerns: having clear separation of libraries and your "own" code. Including not mixing "business logic" (changing human rules/parameters/requirements) with technical non-human machinery.