2012-07-09 57 views
0

我正在尽我所能编写可读性好的代码,但在我的工作中经常会有疑问!'保护'是一个可接受的Java类名称

我创建了一些代码来检查一些受保护软件的状态,并且已经创建了具有方法检查所使用的软件是否被许可类(有单独的许可类)。

我命名类“保护”,目前访问,通过建立一个appProtect对象。该类中的方法允许检查关于应用程序的许多事情,以确认它实际上被许可使用。

对于这样的班级,“保护”是否可以接受?

我读的地方,如果你必须要考虑到长期的方法,类,对象等的名称,那么也许你可能不会在面向对象的方式编码。在做这篇文章之前,我花了很多时间思考这个问题,这让我怀疑这个名字的适用性!

在创建(和校对)这个职位,我开始严重怀疑我的工作至今。我也想我应该重新将对象重命名为applicationProtection而不是appProtect(尽管我也对此有任何评论?)。我发布的不是那么少,希望我能从别人的观点/意见中学到一些东西,即使他们只是确认我“做错了”!

编辑: 感谢您的答复,并道歉,如果它不是一个“有效”的问题。我打算去licenseChecker(谢谢@millimoose),虽然另一个线程建议'保护者',这看起来更合适,因为这个类取决于是否有有效的许可证。

+2

“其中有方法的类检查所使用的软件是否被许可” - 然后把它叫做'LicenceChecker'。类名应该是描述它所代表的名词的名词,或者它的用途。 (名词化动词的类名看起来很奇怪,但由于大多数设计模式都有封装流程或动作的类,所以它不会是代码味道不好的。) – millimoose 2012-07-09 14:52:14

+0

谢谢。这是因为'licenseChecker'是一个东西(名词?),而'保护'不是? – Jonny 2012-07-09 14:54:20

+0

我认为这是一个很好的名字,但那只是我。这很可能会很快结束,但请尝试在http://programmers.stackexchange.com/questions – nook 2012-07-09 14:54:40

回答

0

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

1

类是对象的蓝图。对象代表真实世界的概念。所以,当你引用这个概念时,一个类的名字应该简单地反映出你在真实世界中使用的名字。在你的情况下,保护(即使一个有效但不一定是坏名字)并不是非常具体。

0

通常你希望把你的类的东西,是指作用,而不是行动。由于您将创建与其他对象交互的类的实例,很明显,您的应用程序中的每个对象在宏方案中都扮演着特定的角色。

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