Information hiding is the principle of segregating the design decisions in a computer program that are most likely to change, thus protecting other parts of the program from extensive modification if the design decision is changed. It's a way of reducing the complexity of a system by encapsulating the messy details behind a clean interface, like sweeping the Cheeto dust under your keyboard.
"I'm not going to expose that data member as public, I believe in information hiding - I'm not running a social media company here."
"Sure, we could just glob all the code together in one big ball of mud, but I prefer to practice information hiding and break it up into modules. I'm not a savage."
Presentation Domain Separation - A useful design principle is maintaining a separation between the presentation aspects of a program (user interface) and the rest of the functionality. This separation offers many benefits.
Encapsulated Collection - In object-oriented design, it is essential to encapsulate your data. The simplest form of encapsulation is to use accessors (getting and setting methods) or properties, if your language supports it.
Pragmatics on Principles - Design principles should be considered guidelines rather than rigid rules, as they often conflict and overlap. Violating principles when necessary is acceptable and sometimes beneficial.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.