Math.min
and Math.max
functions should be combined in correct order
- BAD_MIN_MAX_FUNC
- Error
- Medium
- No tags
This rule applies when Math.min
and Math.max
functions are incorrectly combined.
x = Math.min(100, x);
specifies upper limit of x
as 100 and x = Math.max(0, x);
specifies the lower limit as 0. When these limit values are combined in incorrect order, the same result is always produced in unexpected way.
Noncompliant Code Example
View with compliant examples side by sidex = Math.min(0, Math.max(100, x)); // BAD_MIN_MAX_FUNC alarm. The result is always 0.
Compliant Code Example
View with noncompliant examples side by sidex = Math.max(0, Math.min(100, x));
Version
This rule was introduced in DeepScan 1.0.0-alpha.