This is a refresher course for those who need to review basic knowledge of test-driven development (TDD).

Basic Concepts

edit
  • TDD: tiny cycle repetition of red, green and refector -- failing test script, code to pass, refactor to standards
  • XP key principles: rapid feedback, incremental change and assuming simplicity

References

edit

Unit Testing

edit

Code Review

edit
  • Code review: systematic examination of source code through peer review
  • Review forms: pair programming, informal walkthroughs or formal inspections

Beyond

edit
  • safe and fast: basic security, time complexity, then micro improvement

Polymorphism

edit
  • Late binding: method looked up by name at run-time and exact behavior determined at run-time
  • Early binding: method name and signature stored in the virtual method table (v-table) at compile time
  • Polymorphism: objects from different types responding to calls by the same name, e.g. operator overloading for addition