Skip to content

New Rule: never reuse labels in inner scopes #50

Closed
@silviomarghitola

Description

@silviomarghitola

Language Usage / Control Structures / Flow Control
Never reuse a label within its own scope

from SonarQube

Labels should not be reused in inner scopes

Using the same name for multiple purposes reduces the understandability of the code and might eventually lead to bugs.

This rule verifies that no label is reused in an inner scope.

Noncompliant Code Example

<<foo>>
DECLARE
  a CONSTANT PLS_INTEGER := 0;
BEGIN
  <<foo>>
  DECLARE
    b CONSTANT PLS_INTEGER := 42;
  BEGIN
    DBMS_OUTPUT.PUT_LINE('x = ' || foo.b);
  END;
END;

Compliant Solution

<<foo>>
DECLARE
  a CONSTANT PLS_INTEGER := 0;
BEGIN
  <<bar>>
  DECLARE
    b CONSTANT PLS_INTEGER := 42;
  BEGIN
    DBMS_OUTPUT.PUT_LINE('x = ' || bar.b);
  END;
END;

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions