【问题标题】:Naming issue: what name would you give to this interface? [closed]命名问题:你会给这个接口起什么名字? [关闭]
【发布时间】:2015-05-22 12:30:42
【问题描述】:

我正在努力解决命名问题。你会给一个只有一个方法和这个签名的接口起什么名字:

public interface ?
{
    boolean isAvailable();
}

我的应用程序中的许多类都可以实现这个接口。

【问题讨论】:

  • 仅仅因为某些东西可用或不可用就没有任何意义。有一个设计问题,如果你试图写一个你不能给名字的接口。你需要知道这个接口意味着什么,你将如何处理你只知道可用的东西?你对此无能为力,因为它没有任何意义。
  • 虽然界面真的很笼统和抽象,但我仍然认为它是有意义的,并且在某些方面是有用的。查看Java中的接口Closeable
  • 不,没有意义。好的,假设您在代码中的所有对象中实现了可用的方法。你能用可用的信息做什么?如果您对此对象一无所知,只知道它可用,您可以与该对象进行什么交互?
  • 例如,如果对象不可用,我可以不在 JSF 网页中显示该对象。此接口将用于我正在开发的特定域模型中,它的含义正是如此。
  • @Davio。如果您看到我的最后一条评论,您会发现我没有在对象中绑定字体和后端逻辑。我的领域模型中的可用性概念是前端必须尊重的概念,而不是哪个前端。它在模型中是固有的。

标签: java naming-conventions naming


【解决方案1】:

这并不重要,之后您可以随时重命名,并且使用当前的 IDE,使用自动完成输入任何名称真的很容易...

也就是说,如果您想要简短,请使用Available,如果您想要更不言自明,请使用CanBeAvailable

【讨论】:

  • 谢谢。我想我会遵循这个。
【解决方案2】:

鉴于“可用”一词已经以“-able”结尾,我认为可以打破 Java 接口命名约定并将其命名为AvailabilityAnother approach, suggested in Programmers, is to use the prefix "Can-", 在这种情况下你可以调用你的接口CanBeAvailable

【讨论】:

  • 感谢您的回答。类似于@P.Péter。
  • 其实@JoeydeVilla 领先几秒...
  • 是的,谢谢你提醒我这一点,但我喜欢Available 多于AvailabilityCanBeAvailable 对我来说非常不言自明。
【解决方案3】:

以下是为命名约定定义的标准。

类 - 永远是一个名词

界面 - 始终是一个形容词

方法 - 应该是一个动词

所以,想想一些形容你界面用途的形容词。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 2023-03-22
    • 1970-01-01
    • 2014-07-17
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多