In software design, there's a principle referred to as the Robustness Principle which states: "Be conservative in what you send, be liberal in what you accept."
In a design context, this is referring to your inputs and outputs. You should accept any and all input information as long as its meaning is clear but you should only send information out that is according to the specifications of the software. This allows you to always have plenty of data, never lacking in the back-end but only pushing out that which is valuable and representative of the output specs. Though it originated in an industry in which I have zero experience or understanding, the concept, I've found, is very practical and applicable to many other aspects of life.Read More