-
Notifications
You must be signed in to change notification settings - Fork 29
Public and internal api dermarcation #76
Description
Once the library goes to N.0 the convention is to maintain the public api till (N+1).0. The natural question is What is the public API in this library?. That is not currently clear. Perhaps every class should remain in the public API?
A useful technique is to move classes that are strictly internal (and can be freely refactored/renamed/iterated on by the team within the same major release) to packages containing the word internal.
Another concern with classes in the public api (once defined) is whether they should be allowed to be sub-classed (and thus subject to well-known inheritance perils). I would make as many classes as possible final.
Thoughts? @Cbales are you aware of classes that may be appropriate for moving to an internal package?
AB#6045