【问题标题】:Why 'equals' method is third person singular? [closed]为什么“等于”方法是第三人称单数? [关闭]
【发布时间】:2012-05-30 15:43:13
【问题描述】:

为什么'equals'方法是第三人称单数...?

我认为.. 这意味着我会将对象视为第三人称。

是的..我也同意。

那..为什么 trim、add 方法不是第三人称单数?

这让我很困惑:'(

实际上我有时认为,对于使用第一人称、第二人称和第三人称之间有语法差异的语言的人来说,这可能是很自然的,因为我的语言韩语在它们之间没有语法差异。

所以..请给我答案:D

【问题讨论】:

  • 我认为这是英语语言的细微差别,而不是其他任何东西......
  • "x 等于 y",但是 "trim x" - 说 "x equal y" 或 "trims x" 在语法上是不正确的。
  • 而且他们从不写vec.reserves(100)

标签: methods naming


【解决方案1】:

我认为因为Equals 是布尔值并且将另一个对象作为参数,所以它具有良好的语义。一个常见的用法是:

if(a.Equals(b)) {}

而且很漂亮。

Trim() 是你给对象的一种命令。这就像“做那件事”。按照这种方式,Equals 应该类似于TellMeIfYouAreEqualTo:P

【讨论】:

  • 我认为关键在于方法的布尔问题。 'connection.IsOpen' 之类的东西是有道理的,而不是像connection.Open() 这样的订单。
  • 谢谢你:D。实际上,如果方法返回布尔值,我通常更喜欢以 is- 和 dos- 开头的名称。但现在,我认为这可能是过程编程中使用的命名约定。无论如何..谢谢你的回答:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 2013-03-08
  • 2014-03-27
相关资源
最近更新 更多