Variable names should clearly express the purpose or the data it holds.Docstrings explain the what, why, and how of a function.Comments should explain why something is done, not what (which should be evident from clean code).Break down your code into small, reusable, independent modules.