Empty statement requires a comment explaining why (DC0003)

An empty statement (a lone semicolon or an empty begin...end block) is often a sign of incomplete code or a mistake. When an empty statement is intentional, it must be accompanied by a comment explaining why the statement is deliberately empty.

Without documentation, reviewers and maintainers cannot distinguish between intentional no-ops and forgotten implementations.

Example

The following code has an empty statement without explanation:

codeunit 50100 MyCodeunit
{
    procedure MyProcedure()
    begin
        if SomeCondition then
            ; // Empty statement requires a comment explaining why [DC0003]
    end;
}

To fix this, add a comment explaining the intent:

codeunit 50100 MyCodeunit
{
    procedure MyProcedure()
    begin
        if SomeCondition then
            ; // Intentionally empty: condition handled by event subscriber in codeunit X
    end;
}