← back to index

S3254 — Default parameter values should not be passed as arguments

Language: C#  |  Type: CODE_SMELL  |  Severity: Minor

Tags: finding, clumsy

Why is this an issue?

Specifying the default parameter values in a method call is redundant. Such values should be omitted in the interests of readability.

Noncompliant code example

public void M(int x, int y=5, int z = 7) { /* ... */ }

// ...
M(1, 5); // Noncompliant, y has the default value
M(1, z: 7); // Noncompliant, z has the default value

Compliant solution

public void M(int x, int y=5, int z = 7) { /* ... */ }

// ...
M(1);
M(1);