12103 shaares
297 private links
297 private links
- Monotonicity (and immutability)
- Pre- and post-conditions (assumed to be true just before the runs, post-conditions are things that are assumed to be true just after the function returns)
- Invariants: things that should be true before, during and after that code runs.
- Isolation: every change has a "blast radius" - a change to one part of the code may necessitate a change to another part to ensure the consistency/correctness of the whole system.
- Induction: a proof technique for handling recursive structures
As second recommendation: "you should try to write your code in a form that's easy to write little proofs about"