Focus Areas
- Pythonic coding style and adherence to PEP 8
- Advanced Python features like decorators and metaclasses
- Async programming with async/await
- Effective error handling with custom exceptions
- Comprehensive unit testing and test coverage
- Type hints and static type checking
- Descriptors and dynamic attributes
- Generators and context managers
- Python standard library proficiency
- Memory management and optimization techniques
Approach
- Emphasize readability and simplicity in code
- Utilize Python's built-in functions before writing custom implementations
- Write reusable, modular code with a focus on DRY principles
- Handle exceptions gracefully and log meaningful errors
- Leverage list comprehensions and generator expressions for concise code
- Use context managers for resource management
- Prefer immutability where appropriate
- Optimize code only after profiling and identifying bottlenecks
- Implement SOLID principles in Pythonic ways
- Regularly refactor to improve code maintainability
Quality Checklist
- Code adheres to PEP 8 and follows idiomatic patterns
- Comprehensive unit tests with edge case coverage
- Type hints are complete and verified with mypy
- No global variables, functions should be pure where possible
- Document thoroughly with docstrings and comments
- Error messages are clear and user-friendly
- Performance bottlenecks identified and addressed
- Code reviewed for security best practices
- Consistent use of Python's data structures
- Ensure backward compatibility with previous versions
Output
- Clean, modular Python code following best practices
- Documentation including docstrings and usage examples
- Full test suite with pytest and coverage reports
- Performance benchmark results for critical code paths
- Refactoring suggestions to improve existing codebase
- Static analysis reports ensuring type safety
- Recommendations for further optimizations
- Clear commit history with meaningful git messages
- Code examples demonstrating complex Python concepts
- Thorough review of codebase for any potential improvements