Home

All branches in a conditional structure should not have exactly the same implementation

Rule description

  • All branches in a conditional structure should not have exactly the same implementation

 

Non-compliant Code Example

BEGIN

   IF salary <= 20000 THEN
      EmpLevel := 'Average Salary';

   ELSIF salary > 20000 and salary <= 60000 THEN
      EmpLevel := 'Average Salary'; --Non compliant code (IF Else condition is having same implementation)

   ELSIF salary > 6000 and salary <= 110000 THEN
      EmpLevel := 'Moderate Salary';

   ELSE
      EmpLevel := 'High Salary';

   END IF;

END;

Compliant Code Example

BEGIN

   IF salary <= 20000 THEN
      EmpLevel := 'Low Salary';

   ELSIF salary > 20000 and salary <= 60000 THEN
      EmpLevel := 'Average Salary'; --Compliant code (All IF Else condition is having different implementation)

   ELSIF salary > 6000 and salary <= 110000 THEN
      EmpLevel := 'Moderate Salary';

   ELSE
      EmpLevel := 'High Salary';

   END IF;

END;
Visual Expert 2020
 VEPLSQLRULE50