如何命名一个提供1个方法的接口inUse()?
答案 0 :(得分:13)
我实际上会首先重新考虑名称'inUse()';布尔值显然只有两个可能的值,但实际上您正在添加获取状态的能力。我会考虑宣布一个枚举
public enum UsageState
{
Idle,
InUse
}
并命名您的界面IHasUsageState
。这使您可以灵活地添加Starting
,Finishing
,WaitingToBeUsed
或其他选项,具体取决于您正在做什么,例如,如果您有线程问题需要处理在将来。
此外,您不需要像if (!obj.InUse()) { }
这样的负面检查,而是支持更具可读性和直观性if (obj.Usage == UsageState.Idle) { }
,更不用说您将来可能会要求它指定为什么它是空闲。
答案 1 :(得分:9)
IUsageIndicator
如果您想要显示您的对象目前正在使用。
IUsable
如果您想证明您的对象可以使用。
答案 2 :(得分:5)
我会说出来。 IInUse
。看起来不错......
答案 3 :(得分:3)
我更愿意将其命名为IUsable,并牢记MS遵循的标准惯例。 (例如:IEnumerable,IComparable等)
答案 4 :(得分:2)
我更喜欢
InUsable
。听起来永恒。
见here
答案 5 :(得分:2)
我会说出来。 IUsable。看起来不错......
答案 6 :(得分:2)
这就是我在Java中所做的
public interface Usable {
public boolean inUse();
}
答案 7 :(得分:1)
它应该以大写'I'开头,因此接口名称将成为您的案例IInUse。
在此处关注C#coding standards。
答案 8 :(得分:0)
IExclusiveUseObject怎么样?
答案 9 :(得分:0)
你在寻找c#和java的答案吗?
作为一个c-sharper,我用“I”作为前缀,而我与之交谈的大多数c#开发人员也这样做,可能是因为它位于microsoft naming conventions.
然而,有趣的是,当搜索java命名约定时,我看到了前缀和无前缀的混合。
所以在c#中也许是这样的:
public interface IUsable {
void InUse();
}