使用框架/语言中的getter/setter,或者定义自己的显式getter/setters

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

本文关键字:getter 定义 或者 自己的 setters setter 语言 框架      更新时间:2023-09-26

当我还是一名实习生,使用Backbone.JS进行JavaScript前端项目时,我使用了框架(Backbone)提供的getter和setter,但我被要求定义自己的getter,以明确什么是公共/私有的。我更喜欢使用骨干提供的那些。这里有什么更好的做法或推荐的方法?

最近,我在开发自己的ExpressJS/Mongoose应用程序,我开始认为我定义了一个Todo模型,然后是一个公开byIdbyList等函数的Todos集合,但后来我想也许我应该使用Mongoose提供的那些?

使用提供的getter/setter的优点是

  • 更少的代码,更少的错误
  • 获取/设置的标准方式。而不是2(来自框架+自定义)
  • 另一个开发人员只需要学习框架,而不是我的自定义代码,就可以了解发生了什么

缺点:

  • 稍长的代码
  • 少一些什么是私人的什么不是,但我认为这不是很重要。。。动态语言中的esp

再说一遍,这里推荐什么?

如果框架允许,只有在必须修改默认getter/setter的行为时,才能编写自己的getter/setters。

如果不需要,没有理由写它们,IMHO。