Review/Mark API Visibility for the shell

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • DevProd Correctness
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      You can find documentation for how to do this using the tooling we've designed, as well as a suggested workflow here.

      The SMART goal is to land 100% by EOY. However, with holidays, end-of-November is a reasonable first target.

       
      A few things to emphasize: * Make sure to use the tools! A few people in phase 1 didn't read that there was tooling available, and that made their work much harder than it had to be. Let me know if there is anything else that you wish the tooling was capable of. It may be easy to add.

      • Large PRs can get unwieldy fast. I suggest limiting to a handful of files at a time. Alternatively it may be reasonable to PR an entire logical component where most files are private, and only a few have any public API marked.
      • The tooling is designed such that your team will get more benefit if you put more work into it. For example, you can use the tooling to help you define fine grained submodules with minimal public APIs. It will take more work than having everything in one large module, but it should result in better and more maintainable code. It is always possible to do that later though, so don't put off marking your overall public API until you find the perfect way to split up your modules.
      • Remember that the goal is to mark intent. Not everything that is currently used outside of its module should be public, nor should everything that isn't be made private.
      • While we tried to build a correct mapping from files to modules in phase 1 it is possible that some mistakes were made. If it seems like it would be cleaner to have some files move between modules (eg by reducing the API surface exposed) don't be afraid to make that change. Just be sure to reach out to the teams that own both modules to make sure they agree with the movement.

      Find more info/discussion in #server-modularity-phase2.

            Assignee:
            Unassigned
            Reporter:
            Steve McClure
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: