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

Simplified API docs for users #427

Closed
attipaci opened this issue May 28, 2023 · 0 comments · Fixed by #424
Closed

Simplified API docs for users #427

attipaci opened this issue May 28, 2023 · 0 comments · Fixed by #424
Assignees
Labels
package Issues with the packaging style Better style and/or less bug-prone
Milestone

Comments

@attipaci
Copy link
Collaborator

attipaci commented May 28, 2023

nom-tam-fits can be awfully intimidating and confusing to new users. One reason for that is that the library exposes too much of its internal workings in the public API, and also because it has grown organically over 25 years, retaining many dead-ends from earlier versions along the way. While we strive to maintain back compatibility as much as possible in the library itself, maybe we can trim the user documentation to focus on what users actually need; be more welcoming and helpful to new users. Specifically:

  • Hide packages and classes from the online API docs, which are meant for internal use only. (Contributors can still build the full API docs for their own use -- e.g. via mvn package).
  • Show only the public content in the online documentation. When using the library to read and/or write FITS files, there is no need to extend the classes of the library (with the exception of FitsHeaderImpl perhaps, whose methods are all public). Again contributors, who need the nuts and bolts, can easily build their own documentation using maven)
  • Mark the variables and methods meant for internal use only but which are nevertheless exposed to the public (or protected) API, as deprecated. In a future major revision (e.g. 2.0) we can hide these methods more effectively.
  • Eventually (after a year or 2) remove deprecated APIs from the online documentation, leaving only the recommended current API
@attipaci attipaci added style Better style and/or less bug-prone package Issues with the packaging labels May 28, 2023
@attipaci attipaci added this to the 1.18.0 milestone May 28, 2023
@attipaci attipaci self-assigned this May 28, 2023
@attipaci attipaci pinned this issue May 28, 2023
@attipaci attipaci linked a pull request May 28, 2023 that will close this issue
@attipaci attipaci unpinned this issue Jun 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package Issues with the packaging style Better style and/or less bug-prone
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant