
Inline adoc files when they are included exactly once. Also fix language tags because this inlining gives us better information on what language the code is written in.
84 lines
1.9 KiB
Plaintext
84 lines
1.9 KiB
Plaintext
== Why is this an issue?
|
|
|
|
The use of ``++options( *nopass )++`` on a parameter makes it optional, so it should always be checked before use.
|
|
|
|
|
|
=== Noncompliant code example
|
|
|
|
[source,rpg]
|
|
----
|
|
DCL-PR VIOLATION1 EXTPGM;
|
|
LASTNAME Char(10);
|
|
FIRSTNAME Char(10) OPTIONS(*NOPASS:*OMIT);
|
|
END-PR;
|
|
|
|
DCL-PI VIOLATION1;
|
|
LASTNAME Char(10);
|
|
FIRSTNAME Char(10) OPTIONS(*NOPASS:*OMIT);
|
|
END-PI;
|
|
|
|
dsply FIRSTNAME;
|
|
dsply LASTNAME; // Noncompliant; LASTNAME is optional
|
|
*inlr = *on;
|
|
----
|
|
|
|
|
|
=== Compliant solution
|
|
|
|
[source,rpg]
|
|
----
|
|
DCL-PR VIOLATION1 EXTPGM;
|
|
LASTNAME Char(10);
|
|
FIRSTNAME Char(10) OPTIONS(*NOPASS:*OMIT);
|
|
END-PR;
|
|
|
|
DCL-PI VIOLATION1;
|
|
LASTNAME Char(10);
|
|
FIRSTNAME Char(10) OPTIONS(*NOPASS:*OMIT);
|
|
END-PI;
|
|
|
|
dsply FIRSTNAME;
|
|
IF %PARMS > 1;
|
|
dsply LASTNAME;
|
|
EndIf;
|
|
*inlr = *on;
|
|
----
|
|
|
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
'''
|
|
== Implementation Specification
|
|
(visible only on this page)
|
|
|
|
=== Message
|
|
|
|
Make sure this optional parameter was actually passed before you use it.
|
|
|
|
|
|
=== Highlighting
|
|
|
|
Parameter name
|
|
|
|
|
|
'''
|
|
== Comments And Links
|
|
(visible only on this page)
|
|
|
|
=== on 28 Oct 2015, 20:10:15 Ann Campbell wrote:
|
|
Source: user suggestion with background from \http://www.itjungle.com/fhg/fhg010505-story02.html
|
|
|
|
=== on 29 Oct 2015, 13:47:46 Pierre-Yves Nicolas wrote:
|
|
\[~ann.campbell.2] This rule looks more like a bug detection rule than something about api-design or readability.
|
|
|
|
=== on 29 Oct 2015, 14:02:11 Ann Campbell wrote:
|
|
You're right [~pierre-yves.nicolas]. Adjusted.
|
|
|
|
=== on 29 Oct 2015, 14:07:55 Pierre-Yves Nicolas wrote:
|
|
\[~ann.campbell.2] Should we also update the SQALE characteristic?
|
|
|
|
=== on 29 Oct 2015, 14:20:29 Ann Campbell wrote:
|
|
Thanks [~pierre-yves.nicolas]. That's done too now.
|
|
|
|
endif::env-github,rspecator-view[]
|