null 대신 빈 배열과 컬렉션이 반환되어야 합니다.

반응형

실제 배열이나 컬렉션 대신 null을 반환하면 메서드 호출자가 명시적으로 null성을 테스트하게 되므로 메서드가 더 복잡해지고 읽기 어려워집니다.

게다가 null은 공백의 동의어로 사용되는 경우가 많습니다.

나쁜 예:

public Result[] GetResults()
{
    return null; // Noncompliant
}

public IEnumerable<Result> GetResults()
{
    return null; // Noncompliant
}

좋은 예:

public Result[] GetResults()
{
    return new Result[0];
}

public IEnumerable<Result> GetResults()
{
    return Enumerable.Empty<Result>();
}
반응형