当我还是一名实习生,使用Backbone.JS进行JavaScript前端项目时,我使用了框架(Backbone)提供的getter和setter,但我被要求定义自己的getter,以明确什么是公共/私有的。我更喜欢使用骨干提供的那些。这里有什么更好的做法或推荐的方法?
最近,我在开发自己的ExpressJS/Mongoose应用程序,我开始认为我定义了一个Todo
模型,然后是一个公开byId
、byList
等函数的Todos
集合,但后来我想也许我应该使用Mongoose提供的那些?
使用提供的getter/setter的优点是
- 更少的代码,更少的错误
- 获取/设置的标准方式。而不是2(来自框架+自定义)
- 另一个开发人员只需要学习框架,而不是我的自定义代码,就可以了解发生了什么
缺点:
- 稍长的代码
- 少一些什么是私人的什么不是,但我认为这不是很重要。。。动态语言中的esp
再说一遍,这里推荐什么?
如果框架允许,只有在必须修改默认getter/setter的行为时,才能编写自己的getter/setters。
如果不需要,没有理由写它们,IMHO。