[Show/Discussion] Visualization of the datadogpy codebase #897
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Requirements for Contributing to this repository
What does this PR do?
This PR includes diagrams which represent the codebase. The idea of these documents is to help new people get up-to-speed with the existing codebase. I believe that diagrams are the best way to get high-level knowledge of a codebase and then focus on the interesting part of the codebase for your concrete contribution, having the context of how that component interacts with the rest of the codebase
Description of the Change
High-level diagrams for the codebase. You can see how they render in github here: https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/datadogpy/on_boarding.md
The diagram is generated with the help of Static Analysis and LLMs.
Alternate Designs
Possible alteranatives are classic documentation, however we think that diagram first documentation is the best way for new comers to get up-to-speed.
Possible Drawbacks
The diagram is generated so as well as human docs it has to be reviewed :).
We are also working on automatic generation via github actions, but this is yet to be available.
Verification Process
Someone has to accept the diagrams and validate thier quality
Additional Notes
Usually I would open a discussion first, but it seems like they are not enabled for this repository, so that is why I opened a PR :)
We would love to hear your feedback on the diagrams and the idea in general.
Full disclosure: we're trying to turn this into a startup, but we're still in a very early stage and figuring out what will actually be useful for people.
Release Notes
It is not a feature so I guess just that such documentation exists.
Review checklist (to be filled by reviewers)
changelog/label attached. If applicable it should have thebackward-incompatiblelabel attached.do-not-merge/label attached.kind/andseverity/labels attached at least.