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.