Chapter 7. Java Programming and
Documentation Conventions
This chapter explains a number of important and useful Java
programming conventions. If you follow these conventions, your Java
code will be self-documenting, easier to read and maintain, and more
portable.
7.1. Naming and Capitalization Conventions
The following widely adopted naming conventions apply to
packages, classes, methods, fields, and constants in Java. Because
these conventions are almost universally followed and because they
affect the public API of the classes you define, they should be
followed carefully:
-
Packages
-
Ensure that your package names are unique by prefixing them
with the inverted name of your Internet domain (e.g.,
com.davidflanagan.utils). All
package names, or at least their unique prefixes, should be
lowercase.
-
Classes
-
A class name should begin with a capital letter and be
written in mixed case (e.g., String). If a class name consists of more
than one word, each word should begin with a capital
letter (e.g., StringBuffer). If a class name,
or one of the words of a class name, is an acronym, the
acronym can be written in all capital letters (e.g.,
URL, HTMLParser).
Since classes are designed to represent objects, you should
choose class names that are nouns (e.g.,
Thread, Teapot,
FormatConverter).
-
Interfaces
-
Interface names follow the same capitalization conventions
as class names. When an interface is used
to provide additional information about the
classes that implement it, it is common to choose an
interface name that is an adjective (e.g.,
Runnable, Cloneable,
Serializable,
DataInput). When an interface works more
like an abstract superclass, use a name that is a noun (e.g.,
Document, FileNameMap,
Collection).
-
Methods
-
A method name always begins with a lowercase letter. If the
name contains more than one word, every word after the first
begins with a capital letter (e.g.,
insert(),
insertObject(),
insertObjectAt()). Method names are
typically chosen so that the first word is a verb. Method
names can be as long as is necessary to make their purpose
clear, but choose succinct names where possible.
-
Fields and constants
-
Nonconstant field names follow the same capitalization
conventions as method names. If a field is a
static final constant, it should be
written in uppercase. If the name of a constant includes
more than one word, the words should be separated with
underscores (e.g., MAX_VALUE). A field
name should be chosen to best describe the purpose of the
field or the value it holds.
-
Parameters
-
The names of method parameters appear in the documentation
for a method, so you should choose names that make the
purpose of the parameters as clear as possible. Try to
keep parameter names to a single word and use them
consistently. For example, if a
WidgetProcessor class defines many
methods that accept a Widget object as
the first parameter, name this parameter
widget or even w in
each method.
-
Local variables
-
Local variable names are an implementation detail and
never visible outside your class. Nevertheless, choosing
good names makes your code easier to read, understand, and
maintain. Variables are typically named following the same
conventions as methods and fields.
In addition to the conventions for specific types of names,
there are conventions regarding the
characters you should use in your names. Java allows the
$
character in any identifier, but, by convention, its use is
reserved for synthetic names generated by source-code processors. (It is used by the Java compiler, for example, to make inner
classes work.) Also, Java allows names to use any alphanumeric
characters from the entire Unicode character set. While this can
be convenient for non-English-speaking programmers, the use of
Unicode characters should typically be restricted to local
variables, private methods and fields, and other names that are
not part of the public API of a class.
| | |
6.3. Bean Contexts and Services | | 7.2. Portability Conventions and Pure Java Rules |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|
|