You’ll have a lot of problems writing Java, especially multi-threaded code, if you can’t understand these simple ideas:
- Pre-conditions are the things that must be true before a method is called. The method tells clients “this is what I expect from you”.
- Post-conditions are the things that must be true after the method is complete. The method tells clients “this is what I promise to do for you”.
- Invariants are the things that are always true and won’t change. The method tells clients “if this was true before you called me, I promise it’ll still be true when I’m done”.
先验条件是在调用方法之前必须为真。这个方法告诉客户端“这就是我对你的期望”。
后验条件是指方法完成后必须为真。该方法告诉客户端“这就是我承诺为您做的”。
不变条件是始终为真且不会改变的东西。该方法告诉客户端“如果在你调用我之前这是真的,我保证当我完成时它仍然是真的”。