Use getters/setters from framework/language or define your own explicit ones

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?

Then recently, I was developing my own ExpressJS/Mongoose app, I started off thinking I define a Todo model then a Todos collection that exposes functions like byId, byList etc, but then I was thinking perhaps I should just use those provided by Mongoose?

The advantage of using the provided getters/setters will be

  • Less code, less bugs
  • standard way of getting/setting. Instead of 2 (from framework + custom)
  • Another developer will just need to learn the framework instead of my custom code to understand whats happening

Cons:

  • a little longer code
  • less sense of whats private whats not, but I think this is not very important ... esp in a dynamic language

Again, whats recommended here?

If the framework allows it to you, write your own getters/setters only when you have to modify the behaviour of the default getters/setters.

There's no reason to write them if not needed, IMHO.