6. Evaluate & Reflect
"We do not learn from experience... we learn from reflecting on experience." ― John Dewey
1. Evaluation - Outcome (Criteria for a Code)
Adopted from MIT 6.031: Software Construction
- Safe from bugs - Correct today and correct in the unknown future.
- Easy to understand - Communicating clearly with future programmers, including future you.
- Ready for change - Designed to accommodate change without rewriting.
- Functionality (including Testing)
- Design & Code
- Code smell
- Design smell
- Readability, Style & Documentation
2. Reflection - Process
- Postmortem of the problem solving or debugging process
- Explain what has remained unclear
- What was motivational while solving the problem?
- Debug Yourself - Revealing and Correcting Misconceptions
What is the quality of the solution to the problem? What can I learn from this experience to improve my programming problem solving skills? Which bugs have I encountered and how did I solve them?
All rights reserved.