【问题标题】:Should I prefix this method with Has or Have? [closed]我应该在这个方法前面加上 Has 还是 Have? [关闭]
【发布时间】:2013-11-08 04:43:58
【问题描述】:

这个问题可能听起来有点傻,但我很好奇哪个更好。我有一种方法可以检查我们是否有足够的磁盘空间来继续我们的工作。和上一句一样,我写了“如果我们足够...”,我想我会将方法命名为HaveEnoughDiskSpace

问题是我很少看到方法以 Have 开头。我总是看到它们以 Has 开头,例如,HasPaid()HasIssued()HasChecked() 等等。

我不确定在这种情况下是否可以将其命名为 HaveEnoughDiskSpace 或者最好将其命名为 HasEnoughDiskSpace

【问题讨论】:

  • 这个问题似乎跑题了,因为它是关于英语语法和风格的。
  • 我认为“HasEnoughDiskSpace” - 磁盘足够的空间。
  • HasPaidHasIssuedHasChecked也可以写成HavePaidHaveIssuedHaveChecked。所以,一台计算机“有”足够的磁盘空间,而你正在质疑。
  • @Aniket 什么是元问题?
  • 计算机在你给它一个提问的指令后问自己一个问题是元提问。我只是编的。

标签: c# .net coding-style


【解决方案1】:

这是本网站的题外话,但答案如下,

'Have'和'has'都用来表示占有,构成完成时,过去式都是'had',但它们是使用方式不同。

“有”与

一起使用
  • 以下代词:我、你、我们、他们。例如:“我有一支铅笔。” “我们有一所大房子。”

  • 复数名词:例如:“医生的日子不好过,一直在处理疾病。”

“Has”与第三人称单数(他、她、它)一起使用。例如:“她有你的钱。” “阿米特有书。”

所以在您的情况下,HasPaidHasIssuedHasChecked 更有意义,因为您指的是第 3 方元素。

【讨论】:

  • 没有必要对这个答案投反对票,这是一个答案,只有当它错了才投反对票,这个问题与上下文无关,你应该对问题投反对票,而不是答案X-(
【解决方案2】:

哪个更好听?

X has enough disk space.

X have enough disk space.

由于用法将是X.HasEnoughDiskSpace()X.HaveEnoughDiskSpace(),因此使用Has 版本是有意义的。

【讨论】:

  • 这取决于 X 是什么。如果 X 是事物的集合,那么您的答案是错误的。 PeopleHasOrders 错了。
  • @Asad 这是一个 instance 方法。在 OP 的场景中,一个实例显然不代表一个集合。这是一个单一的例子。
  • 为什么一个实例不能是一个集合?
  • @Asad “在 OP 的场景中,......”
  • 是的,我在问您如何得出结论,在 OP 的场景中,具有此实例方法的类不是集合。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 2011-01-22
  • 2015-08-27
  • 2019-06-03
  • 2020-06-02
  • 2021-08-10
  • 2011-10-20
相关资源
最近更新 更多