There is a very simple checklist. It’s based on my taste to decide whether put an item in, while it mainly subjects to two conditions:
- Important
- Easy to check
Architect
- Function
- Key Features
- Performance
- Check all possible access patterns for all data
- Scalability
- Data
- Computing
- Reliability
- Single Point
- Hardware Faults
- Software Errors
- Human Errors
- Maintainability
- Operability
- Simplicity
- Evolvability
Programming
- Project File Structure
- License
- Readme
- Dependencies and Assumptions
- Configuration
- Code Style
- Code Comments
- Logging
- Unit Test
- Tests
- Exception Handle
- Code Review
Operation
- Metrics collect
- Monitor
- Alert