CQS - Command Query Separation

Prevents methods that return value from modifying state. The methods that you use to query the state of an object must be different from the methods you use to perform commands (change the state of the object).

Wrong

class CQS {
    int attr;
    int getAttr () {
        attr += 10;
        return attr;
    }
}