-
Enhancement
-
Resolution: Fixed
-
P4
-
8, 11, 17, 18, 19
-
b07
SonarCloud warns there is the integer division at (elements / 20), where float division was probably meant:
int length = (int)((elements + elements / 20) / lf) + 3;
The apparent intent of that block is to add +5%. I think multiplying by 1.05f is cleaner and safer.
With elements = 19 and lf = 0.75:
(int)((elements + elements / 20) / lf) + 3 = 28
(int)(elements * 1.05f / lf) + 3 = 29
int length = (int)((elements + elements / 20) / lf) + 3;
The apparent intent of that block is to add +5%. I think multiplying by 1.05f is cleaner and safer.
With elements = 19 and lf = 0.75:
(int)((elements + elements / 20) / lf) + 3 = 28
(int)(elements * 1.05f / lf) + 3 = 29