关于私有方法的使用 - 诺埃尔·拉平在此撰写

主要观点:在 Ruby 中,无副作用的方法应是公共的,仅在有副作用导致对象在错误时间调用会处于不良状态时才使用私有方法;有两种访问控制方法,Ruby 应采取公共优先态度;面向对象设计强调封装,Ruby 中实例变量私有已提供足够封装,通常无需用私有方法增强;对将方法设为私有需权衡成本和收益,私有方法有防止外部调用、方便内部重构等好处,但也有无法直接测试等成本;Ruby 中无真正的私有,send可访问私有方法,这使隐私选择的影响变弱。
关键信息

  • 阐述对 Ruby 中私有方法使用的看法及两种访问控制方式。
  • 以具体服务对象类为例,分析将方法设为私有或公共的利弊。
  • 提及 Ruby 中无真正私有及send的影响。
  • 解释得出不同结论的原因,如对私有方法成本和收益的考量不同等。
    重要细节
  • ServiceThing类为例,说明方法拆分和私有方法的考虑。
  • 提到 Ruby 不同语言背景对看待私有方法的影响,如从 Python 和 Smalltalk 来。
  • 介绍相关书籍和视频资源,如《Programming Ruby 3.3》及 Avdi Grimm 的视频。
阅读 10
0 条评论