Design for usability


Review the way the code is structured to guarantee a gentle learning curve for developers interested in using this class library.
Examples of things to pay attention to:
  • Naming:
      - Assert conventions are being followed;
      - Assert no typos have passed;
      - Use a name that is meaningful from the outside, not necessarily from the inside (e.g.: avoid bringing implementation decisions to the name);
  • Structure:
      - Adequate levels of visibility: hide as much as possible, but not more than that;
      - Structs, enums, etc adequately used;
      - Adequate interface usage? don't over or underdo it;