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

  1. Safe from bugs - Correct today and correct in the unknown future.
  2. Easy to understand - Communicating clearly with future programmers, including future you.
  3. Ready for change - Designed to accommodate change without rewriting.


  1. Functionality (including Testing)
  2. Design & Code
    • Code smell
    • Design smell
  3. Readability, Style & Documentation

2. Reflection - Process

  1. Postmortem of the problem solving or debugging process
  2. Explain what has remained unclear
  3. What was motivational while solving the problem?
  4. Debug Yourself - Revealing and Correcting Misconceptions

Checkout Question:

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?

Copyright © 2020 Shlomi Hod.
All rights reserved.

results matching ""

    No results matching ""