A lot of implementation details are currently public. I believe the public API should be reduced to only include the interfaces/classes needed to operate the framework (e.g. CliApplicationBuilder, CommandAttribute etc.). Other code should be marked internal.
This is a benefit for the library developers, who can then easily refactor code in a non-breaking fashion, as well as consumer developers because the public API is more easily discoverable.
A lot of implementation details are currently public. I believe the public API should be reduced to only include the interfaces/classes needed to operate the framework (e.g.
CliApplicationBuilder
,CommandAttribute
etc.). Other code should be markedinternal
.This is a benefit for the library developers, who can then easily refactor code in a non-breaking fashion, as well as consumer developers because the public API is more easily discoverable.