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

Documenting dev policy: github issue linking #1865

Merged
merged 2 commits into from
Sep 12, 2024
Merged

Conversation

john-science
Copy link
Member

@john-science john-science commented Sep 10, 2024

What is the change?

  1. The primary purpose of this PR is to explicitly document the fact that ARMI does not link to issues or PRs in code (think docstrings).
  2. While at it, I also found some spelling and grammar errors in the Developer Manual, and fixed those.
    a. Sorry, I can't help myself.
  3. Also, I removed a link to a 4-year-old ticket from another repo that was clearly abandoned ages ago.

Why is the change being made?

To close #1864


Checklist

  • The release notes have been updated if necessary.
  • The documentation is still up-to-date in the doc folder.
  • The dependencies are still up-to-date in pyproject.toml.

@john-science john-science added the documentation Improvements or additions to documentation label Sep 10, 2024
Copy link
Contributor

@drewj-tp drewj-tp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At the risk of bike shedding, I'd be curious to hear from other developers too.

Comment on lines +318 to +320
Do not link GitHub tickets or PRs in code.
The idea in ARMI is that either something is worth documenting well in a docstring, or the docs,
or it is not. And just linking a ticket or PR in a docstring is not helpful.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've found external links to be helpful as supplemental resources. An empty link is not helpful, yes. But it can provide people references to go digging later if they want. Or for more context behind the change.

In the case of the material theoretical density changes that kicked off this work, there is a lot of good discussion in #1440. And that context and discussion motivates some strange fixes that a future developer may have questions about. Putting some explanation in comments or docstrings could be sufficient, but is that "documenting well?"

Alternatively, I can do a git blame and find the commit that introduced a change with interesting commentary. And then find the PR that contains that commit, find the issue that PR closes, and then I have some more context and background on a change.

There's some motivation to make everything self sufficient (e.g., "without recourse to the originator") that I get.

Is there a balance that can be struck? Linked issues can be stale or wrong and that's less helpful. But they can be quick ways to provide useful background. Maybe

Do not add bare links to external tickets or change requests in code.
    A link to a GitHub issue on its own is not helpful. Provide enough information via comments or
    docstrings that a passing developer does not need to search for more. Links should be used as
    supplemental resources only, with the bulk of the context being added in the source code.

?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, my notion goes like this:

  1. We have managed for a decade without doing this yet.
  2. I have seen projects that do this, and inevitably, their docstrings and internal docs suffer hard.
  3. I personally, me, don't want to have to go do homework when I'm reading the code. It takes what should be reading a one-sentence docstring to reading a 4-page story.
  4. I don't think "background" and "history" help people understand code. If you can't say "This works like this, because of this" then just giving an infinite amount of context and history and background is just telling people you can't document the feature clearly, and are giving up.

BUT I will admit there is a lot of personal bias above, so let me think about this some more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, it occurs to me that GitHub is the third git platform/tool this project has been on.

Pointing to a GitHub ticket isn't particularly useful if we've moved on to GitLab or whatever the new hotness is in 6 years.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All great points. I don't have any good rebuttals. And we should definitely encourage any documentation to stand on its own

Copy link
Contributor

@drewj-tp drewj-tp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @john-science!

@john-science john-science merged commit 55d098d into main Sep 12, 2024
21 checks passed
@john-science john-science deleted the doc_dev_policy branch September 12, 2024 00:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

State policy on linking to GitHub issues in code in developer guide
2 participants