rspec/rules/S1764/cobol/rule.adoc

38 lines
884 B
Plaintext
Raw Normal View History

2020-06-30 12:47:33 +02:00
Using the same value on either side of a binary operator is almost always a mistake. In the case of logical operators, it is either a copy/paste error and therefore a bug, or it is simply wasted code, and should be simplified. In the case of arithmetic operators, having the same value on both sides of an operator yields predictable results, and should be simplified.
== Noncompliant Code Example
----
* always true
IF X = X
PERFORM SECTION1.
END-IF.
* always false
IF X <> X
PERFORM SECTION2.
END-IF.
* if the first one is true, the second one is too
IF X = Y AND X = Y
PERFORM SECTION3.
END-IF.
* if the first one is true, the second one is too
IF X = Y OR X = Y
PERFORM SECTION4.
END-IF.
* always 1
COMPUTE X = Y / Y.
* always 0
COMPUTE X = Y - Y.
----
== Exceptions
2021-01-27 13:42:22 +01:00
This rule ignores ``++*++`` and ``+++++``.
2020-06-30 12:47:33 +02:00
include::../see.adoc[]