Skip to Main Content
Information Technology Services
oneColumn

Identifier Naming Standards

Think of all identifiers as consisting of 4 parts: <Scope><Type><Descriptive Identifier><Usage>.

Of the 4 elements only the descriptive identifier is required by Oracle. However, the other elements serve to make the name better self-documenting code. At UNF, the first three should always be used. The usage element need only be used when appropriate.

Scope

Scope is the locality of reference within a package, procedure, or function. Knowing this is invaluable to the maintenance programmer. We keep this simple with only three designations: global (g), local (l), and parameter (p).

Examples:

Code Scope Example
g Global g_temp
l Local l_temp
p Parameter p_param

Type

The type portion of the name describes the identifier's structure. There are simple types, such as constants and variables. In addition, there are more complex, aggregate types, such as records, tables, and cursors.

Type Structure
c Constant
v Variable
e Exception
cur Cursor
rec Record
tbl Table

 

There are also special constructs that are available in PL/SQL. They are Type, Subtype and Cursor Variables.

Type Structure
cvr Cursor Variable
typ Type
stp Sub-type

 

Examples:

Notice that we combine the scope with the type as the first portion of the identifier name.

Example Description
lc_tax_rate Local constant
gv_counter Global variable
lrec_spriden Local record type
pv_student_id Parameter variable
prow_sprtele Parameter of ROWTYPE

Descriptive Identifier

The Descriptive Identifier is the most important part of a name. This can be a single word or a phrase. Deciding the lengths of names is always a trade off between length for documentation and brevity for typing purposes. So we want to be optimal. The name should pretty much tell the reader the purpose of the identifier. In most cases, the descriptive portion of the identifier should be comprised of a primary area such as student, address, or employee and a modifier that makes it more readable. The modifier(s) may precede and/or follow the primary area.

Examples:

mailing_address

student_last_name

employee_number

Usage

In certain cases, a suffix should be used to qualify the identifier further to document the usage of the variable. For example, a suffix is used to denote the type of parameter, as in IN, OUT, or IN OUT or to indicate that the variable is a FOR .. LOOP index (which is not declared).

Usage Description Example
i Input only parameter pv_years_service_i
o Output only parameter pv_max_salary_o
io Both input and output pv_student_class_io
idx FOR .. LOOP index lv_employee_idx