[MECpp]Item-33 Make Non-Leaf Classes Abstract
· ☕ 7 min read

The general rule: non-leaf classes should be abstract. This will yields dividends in the form of increased reliability, robustness, comprehensibility, and extensibility throughout our software.


[MECpp]Item-32 Program in the Future Tense
· ☕ 2 min read

Things change. Future tense thinking increases the reusability of the code we write, enhances its maintainability, makes it more robust, and facilitates gracefully in an environment where change is a certainty.


[MECpp]Item-30 Proxy Classes
· ☕ 7 min read

Objects that stand for other objects are often called proxy objects (or surrogates), and the classes that give rise to proxy objects are often called proxy classes, which is useful for implementing multidimensional arrays, differentiating lvalue/rvalue, and suppressing implicit conversions.