Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

need better developer documentation #195

Open
2 tasks
aspiers opened this issue Oct 18, 2017 · 0 comments
Open
2 tasks

need better developer documentation #195

aspiers opened this issue Oct 18, 2017 · 0 comments

Comments

@aspiers
Copy link
Member

aspiers commented Oct 18, 2017

This codebase has gotten significantly more complex in the last ~12 months, due to the addition of several new source services. That doesn't have to be a bad thing, but currently there's a lot of code I don't understand, and if that's true for me as one of the maintainers then surely the problem must also exist for new contributors, and probably for users to some extent too.

I think we can fix this fairly easily in a two-pronged attack:

  • write a document which describes the overall architecture and how all the classes fit together
  • add docstrings to all the important classes explaining at a high-level what they do.

Of course it would also be nice if every method had a docstring, but I don't think that's as important, since if it's clear what a class is supposed to do, then it's already a lot easier to figure out what individual methods are doing just by reading the code.

I already gave one example of the kind of confusion this approach would address: if the TarSCM.scm.tar class had a docstring explaining what it does, then it would become clear whether it is a genuine problem that it is deriving from TarSCM.scm.base even though tar is not a real SCM. We could then decide whether the latter needs a rename or whether the current class design needs changing.

@M0ses @adrianschroeter Does this all make sense to you, and would you be able to help me put this together? I think we could probably capture a lot of the most important info in a Jangouts session (1 hour should be enough). Then it should not be too hard to write the docs describing what we captured.

@aspiers aspiers self-assigned this Oct 18, 2017
@aspiers aspiers changed the title code needs better documentation need better developer documentation Oct 18, 2017
aspiers added a commit to aspiers/obs-service-tar_scm that referenced this issue Oct 18, 2017
Let's be up-front about issue openSUSE#195.
@aspiers aspiers removed their assignment Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants