是';保护';可接受的Java类名

是';保护';可接受的Java类名,java,coding-style,naming-conventions,Java,Coding Style,Naming Conventions,我正在尽我最大的努力编写可读性好的代码,但在我的工作中经常有疑问 我正在创建一些代码来检查一些受保护软件的状态,并创建了一个类,该类具有检查正在使用的软件是否获得许可的方法(有一个单独的许可类) 我将该类命名为“Protection”,该类当前通过创建appProtect对象进行访问。类中的方法允许检查应用程序的许多方面,以确认它实际上已获得使用许可 “保护”是这样一个类可以接受的名称吗 我在某个地方读到,如果你不得不考虑长期使用方法、类、对象等的名称,那么也许你没有用面向对象的方式编码。在写这

我正在尽我最大的努力编写可读性好的代码,但在我的工作中经常有疑问


我正在创建一些代码来检查一些受保护软件的状态,并创建了一个类,该类具有检查正在使用的软件是否获得许可的方法(有一个单独的许可类)

我将该类命名为“Protection”,该类当前通过创建appProtect对象进行访问。类中的方法允许检查应用程序的许多方面,以确认它实际上已获得使用许可

“保护”是这样一个类可以接受的名称吗

我在某个地方读到,如果你不得不考虑长期使用方法、类、对象等的名称,那么也许你没有用面向对象的方式编码。在写这篇文章之前,我花了很多时间思考这个问题,这让我怀疑这个名字是否合适

在创建(和校对)这篇文章时,我开始严重怀疑我迄今为止的工作。我还认为我应该将对象重命名为applicationProtection而不是appProtect(尽管我也愿意就此发表任何评论?)。我在这里发布非“少”的帖子,希望我能从别人的观点/意见中学到一些东西,即使他们只是确认我“做错了”

编辑:
感谢您的回复,如果这不是一个“有效”的问题,请道歉。我打算选择licenseChecker(谢谢@millimoose),不过另一个线程建议使用“Protector”,这似乎更合适,因为类的行为取决于是否有有效的许可证

把代码大声读出来,看看它听起来怎么样。显然,这听起来并不完美,但如果你正在向非程序员阅读类、实例和方法的名称,他们应该会觉得这些名称很合理,并且几乎可以讲述一个故事。我认为a的模式在很多情况下都是很好的。这在Java编程中并不常见,也并不总是适合这个问题,但我认为它为类和方法名提供了很好的指导。

类是对象的蓝图。对象表示真实世界的概念。因此,一个类的名称应该简单地反映您在现实世界中引用该概念时使用的名称。在您的情况下,保护(即使是一个有效且不一定是坏的名称)并不是非常具体。

通常,您希望将类命名为引用角色而不是操作的名称。因为您将创建与其他对象交互的类实例,所以很明显,应用程序中的每个对象在grand scheme中都扮演着特定的角色


我认为@millimoose建议的
LicenseChecker
名称非常适合您的情况,因为它准确地反映了类的角色。

“一个具有检查所用软件是否获得许可的方法的类”-然后称之为
LicenseChecker
。类名应该是一个名词,描述它代表什么或它做什么。(作为名词化动词的类名似乎很奇怪,但鉴于大多数设计模式都有封装流程或操作的类,所以代码味道不会那么糟糕。)谢谢。这是因为“licenseChecker”是一个词(名词?),而“Protection”不是吗?我认为这是一个很好的名字,但那就是我。这可能很快就会结束,但请尝试在@jonny上重新发布此问题,因为
保护
没有说明类的功能,可能意味着很多事情<代码>版权保护或
版权保护检查
也会有所改进。这不是最合适的回答,但值得一看: