if A imports B and B imports A, restructure. 3. **Keep side effects out of module-level code** — put initialization inside functions or `__name__` guards. 4. **One responsibility per module** — if you describe it with "and," split it. 5. **Check the standard library first** — before writing a utilit