Skip to content

Conversation

@lkurzyniec
Copy link

@lkurzyniec lkurzyniec commented Apr 11, 2023

Collections should never return null. Better value for collection is just empty collection.
As a reference, you can take API - collection endpoints never return null, but empty array ([]).


Null cause problems, ie I can't do like this Assert.True(result.IsSuccessful, $"Failing Types: {string.Join("; ", result.FailingTypeNames)}");, I need Assert.True(result.IsSuccessful, $"Failing Types: {string.Join("; ", result.FailingTypeNames ?? Array.Empty<string>())}"); (reference).

NeVeSpl added a commit to NeVeSpl/NetArchTest.eNhancedEdition that referenced this pull request May 13, 2023
@BenMorris
Copy link
Owner

I recognise that returning null is regarded as a bad habit, but I'm reluctant to introduce a breaking change to the public interface at this point.

I'll keep this pull request open so it can be swept up when there's another major release - that will make it easier to signpost this kind of change so we don't break anybody's tests unnecessarily.

@lkurzyniec
Copy link
Author

Fair enough, thx.

@jgveire
Copy link

jgveire commented Apr 19, 2024

I would really like this change because the first time I used this package I got a null reference exception because I expected failing types to be an empty array. I agree with @lkurzyniec that this is a common practice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants