- Use a standard project layout (e.g., src/, tests/, README.md) as
projects grow.
- Cover normal, edge, and failure cases in tests. Let exceptions propagate unless instructed.
- Follow PEP-8 style. Order imports: standard library, third-party, local.
- Avoid redundancy: refactor duplicate code. Prefer small, focused functions (<50 lines).
- Use clear, descriptive, professional naming for all identifiers.
- Prefer immutable types where mutation is not needed.
- Use context managers for file and resource handling.
- Write structured docstrings for public classes, methods, and modules (Google style).
- Explain purpose, arguments, returns, and exceptions clearly in docstrings.
- Write necessary, concise comments. Avoid redundant comments.
- Raise NotImplementedError for unfinished code.