我是靠谱客的博主 正直冬日,最近开发中收集的这篇文章主要介绍编写高质量代码改善C#程序的157个建议——建议127:用形容词组给接口命名,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

建议127:用形容词组给接口命名

接口规范的是“Can do”,也就是说,它规范的是类型可以具有哪些行为。所以,接口的命名应该是一个形容词,如:

IDisposable表示可以被释放

IEnumerable表示类型含有Items,可以被迭代。

正是因为接口表示的是类型的行为,所以从语义上可以让类型继承多个接口,如:

class SampleClass : IDisposable, IEnumerable<SampleClass>
{
//省略
#region 实现IDisposable
public void Dispose()
{
throw new NotImplementedException();
}
#endregion
#region 实现IEnumerable
public IEnumerator<SampleClass> GetEnumerator()
{
throw new NotImplementedException();
}
IEnumerator IEnumerable.GetEnumerator()
{
throw new NotImplementedException();
}
#endregion
}

 

以上代码看起来觉得符合语法,又符合语义。如果我们将接口命名为IDisposal,这给人造成的误解是:该类型是一个类,而不是接口,虽然我们在前面加了前缀I,但仍然感觉这是符合语义的。

然而,FCL中也有一些违反此规定的例外,比如IEnumerator接口。但是,这种情况相对来说还是比较少的,在大多数情况下,我们需要始终考虑用形容词来为接口命名。

 

转自:《编写高质量代码改善C#程序的157个建议》陆敏技

转载于:https://www.cnblogs.com/jesselzj/p/4752343.html

最后

以上就是正直冬日为你收集整理的编写高质量代码改善C#程序的157个建议——建议127:用形容词组给接口命名的全部内容,希望文章能够帮你解决编写高质量代码改善C#程序的157个建议——建议127:用形容词组给接口命名所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部