code-base-investigator
code-base-investigator copied to clipboard
Decide which functionality should be public
Feature/behavior summary
Direct access to the internals of the codebasin package was deprecated in CBI 1.2, to give us time to refactor and finalize the public interface. The purpose of this issue is to track progress towards defining a clear boundary between public and private interfaces.
I expect that this will take us a long time to complete, and suggest that we do it incrementally.
Request attributes
- [x] Would this be a refactor of existing code?
- [ ] Does this proposal require new package dependencies?
- [x] Would this change break backwards compatibility?
Related issues
- [ ] #58
- [ ] #100
- [ ] #135
- [x] #142 (
_detailpackage)
Solution description
For each class and function in codebasin, we need to decide:
- Whether it should remain a public interface that we commit to maintaining; and
- Whether it needs refactoring before committing to a public interface.
Additional notes
- @laserkelvin suggested that private globals (e.g., the
_compilersdictionary) could be replaced by a registry (see https://github.com/intel/code-base-investigator/pull/168#discussion_r1991854545).