I never understand the idea of "clean code". Your code will always be clean to you as you have "all the context" that makes the code clean. You can follow certain conventions that would help a bit but they won't replace the need for context, context that you gained working and thinking about the problem for so long. Somehow it seems this idea of clean code is those business people idea who want the ability to replace people without much friction so that they can hire new person and make him/her "productive" asap.