As for a class's private member, how to design THE CONTRACT? IT ITRUE That The Caller of A Private MEMBER OF A CLASS MUST BE
One or Several of The Class's Member. So Perhaps The Contract for The Outer Parameters (Arguments, Object's Data Me MEMBER AND GLOBAL VARIABLE) SHOULD LIKE this:
1. The Caller Knows More About The Arguments Passed To The Private Member, So It Should Verify It And The Private Member Should Assert IT.
2. For Data Member, IT's Rather Complex
3. For Global Variable, To The Methord Called, IS Just Like ITS Parameters