Skip to content

Suggestion: Use early return pattern to avoid nested conditions #1012

@jongwooo

Description

@jongwooo

Description

Return early is the way of writing functions or methods so that the expected positive result is returned at the end of the function and the rest of the code terminates the execution (by returning or throwing an exception) when conditions are not met.

In actionUtils.ts:

AS-IS

export function isCacheFeatureAvailable(): boolean {
    if (!cache.isFeatureAvailable()) {
        if (isGhes()) {
            logWarning(
                `Cache action is only supported on GHES version >= 3.5...`
            );
        } else {
            logWarning(
                "An internal error has occurred ..."
            );
        }
        return false;
    }

    return true;
}

TO-BE

export function isCacheFeatureAvailable(): boolean {
  if (cache.isFeatureAvailable()) {
    return true;
  }

  if (isGhes()) {
    logWarning(
      `Cache action is only supported on GHES version >= 3.5...`
    );
    return false;
  }

  logWarning(
    "An internal error has occurred ..."
  );
  return false;
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions