title: Use getters/setters from framework/language or define your own explicit ones
body: <p>Where I was working as an intern, working on a JavaScript front end project with Backbone.JS, I was using those getters and setters as provided by the framework (Backbone) but was asked to define my own to make it clear whats public/private. I was more for using those provided by the backbone. Whats the better practice or recommended method here? </p>
  
  <p>Then recently, I was developing my own ExpressJS/Mongoose app, I started off thinking I define  a <code>Todo</code> model then a <code>Todos</code> collection that exposes functions like <code>byId</code>, <code>byList</code> etc, but then I was thinking perhaps I should just use those provided by Mongoose? </p>
  
  <p>The advantage of using the provided getters/setters will be </p>
  
  <ul>
  <li>Less code, less bugs</li>
  <li>standard way of getting/setting. Instead of 2 (from framework + custom)</li>
  <li>Another developer will just need to learn the framework instead of my custom code to understand whats happening</li>
  </ul>
  
  <p>Cons: </p>
  
  <ul>
  <li>a little longer code</li>
  <li>less sense of whats private whats not, but I think this is not very important ... esp in a dynamic language</li>
  </ul>
  
  <p>Again, whats recommended here? </p>