In this section... 5.1 optional parts of the syntax 5.2 parameter lists 5.3 types 5.4 data structures 5.5 expressions 5.6 statements 5.7 visibility 5.8 using exceptions 5.9 erroneous execution |
in out
only when the parameter is both read from and updated.
Storage_Error
.
'First
or 'Last
instead of numeric literals to represent the first or last values of a range.
'First .. 'Last
.
'First
, 'Last
, or 'Length
instead of numeric
literals for accessing arrays.
'Range
of the array instead of the name of the index subtype
to express a range.
'Range
instead of 'first .. 'Last
to express a range.
<=
and >=
in relational expressions with real operands instead of =
.
others
choice in a case statement.
exit when ...
rather than if ... then exit
whenever possible.
use
clause.
use
clause in the following situations:
renames
clause to avoid the use
clause.
use
clauses.
use
clause, especially for infix operators (Guideline 5.7.1).
"+"
to identify adding, joining, increasing, and enhancing kinds of functions.
"-"
; to identify subtraction, separation, decreasing, and depleting kinds of functions.
others
.
others
in suitable frames to protect against unexpected exceptions being propagated without bound, especially in safety critical systems.
others
only to catch exceptions you cannot enumerate explicitly, preferably only to flag a potential abort.
others
during development.
Unchecked_Conversion
only with the utmost care.
Unchecked_Conversion
is in range.
Unchecked_Conversion
in package bodies.
Unchecked_Deallocation
in package bodies.
Direct_IO
and Sequential_IO
are in
range.