当班级名称很常见时,我该怎么办?

Mat*_*ley 3 .net c# class-design naming-conventions

我刚刚在我的.net项目中添加了另一个第三方组件,其中包含一个被调用的类Client,它让我想到了常见的类名.

您是否将公共类命名为常见Client,或者您是否尝试使名称更具体?

在过去我会说Client很好,因为它总是可以通过其namespace(Company.Product.Client)显式访问,但MS似乎坚持.net框架中更具描述性的类名,例如WebClient,TcpClientSmtpClient.

我觉得这些名字MessagePub.Client看起来很整洁,而且MessagePub.MessagePubClient不那么简单,但是随后大量Client漂浮的东西也会让人感到非常混乱.

我正在使用的所有这些第三方组件实际上都是开源的,因此建议重构并将其类名更改为更具描述性的内容,以使我的代码更具可读性或通过其命名空间访问更好的主意?还是没关系?:-)

Pet*_*ter 5

我认为更具描述性的名称几乎总是更好.它不仅仅是一个技术问题,当然也是一个语义问题:一方面,它要求你思考你正在处理什么类的课程,并帮助你设定界限.


Dir*_*mar 5

当您必须使用相似/相同的名称处理第三方库时,不要忘记命名空间别名量词:

using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
Run Code Online (Sandbox Code Playgroud)

像这样你可以很容易地区分不同的类:

Excel.Application excelApp = new Excel.Application();
Word.Application wordApp = new Word.Application();
Run Code Online (Sandbox Code Playgroud)