Word order in class names in java

I had a quick question about naming conventions in Java. I read a few recommendations, but no one answered my specific question.

What word order should I use?

For example, I have an abstract class:

abstract class Requirement

If I wanted to create children, what should I name them?

Like this:

class RequirementOnlyPlayer extends Requirement
class RequirementOnlyConsole extends Requirement
class RequirementArgumentCount extends Requirement

Or like this:

class OnlyPlayerRequirement extends Requirement
class OnlyConsoleRequirement extends Requirement
class ArgumentCountRequirement extends Requirement

Or in some other way? I believe this is my first example, but I'm not sure.

Therefore, these requirements will be used:

addRequirement(new RequirementOnlyPlayer());
addRequirement(new RequirementArgumentCount(3));

Any help or feedback would be greatly appreciated! Sorry if this is a bit of a "nooby" question, I have pretty much experience with Java and programming in general, but for some reason I'm still not sure about that.

+4
source share
3

Java, , . :

// in java.io - often suffixes:
abstract class InputStream
class FilterInputStream extends InputStream
class BufferedInputStream extends FilterInputStream
class ByteArrayInputStream extends InputStream

// in javax.swing - often completely different names:
abstract class JComponent
class JLabel extends JComponent
abstract class JTextComponent extends JComponent
class JEditorPane extends JTextComponent

, , , . , , , , , ( , ). , , !

, , , , , . , "" - , OnlyConsole ( ConsoleOnly?) , Requirement, , a Timestamp, , Date.

+5

OnlyPlayerRequirement
OnlyConsoleRequirement
CountArgumentRequirement

, , , Java . , . . " ". , .. ...

+3

Remove the word "only" and both look great, but if I am in your place, I will approach the requirement as a suffix. So my vote is for PlayerRequirement ConsoleRequirementand ArgumentCountRequirementsince it makes sense.

+1
source

All Articles