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

Document decisions taken #120

Open
2 tasks
Tracked by #118
JackKelly opened this issue Mar 27, 2024 · 0 comments
Open
2 tasks
Tracked by #118

Document decisions taken #120

JackKelly opened this issue Mar 27, 2024 · 0 comments
Labels
documentation Improvements or additions to documentation

Comments

@JackKelly
Copy link
Owner

JackKelly commented Mar 27, 2024

Ideas from Jon Gjenset's talk "Towards Impeccable Rust" at Rust Nation UK 2024 on Wednesday 27th March 2024:

Why does it work like this? In particular:

  • What alternatives were discarded and why?
  • What downsides were explicitly accepted and why?

No perfect method to document these decisions. Try (Y)ADRs? Make sure there's something.

Why is it important to document this stuff?

  • To minimise the amount of information that's only in the lead developer's head. To reduce the "bus factor".
  • So new developers (or you a few months down the line) don't re-do work by thinking "oh, this should work differently... let me try x... oh, wait, x isn't viable..."

Document what's not there. What shortcuts did we take? Document missing handling of corner-cases. Ideally use todo!() or unimplemented!() so these code paths fail. But also document what is missing and why!

Document future optimisations.

Document why some impl are missing (e.g. because it would lead to UB). impl From is particularly important to document.

Jack: At the very least, I should get better and concluding GitHub issues with a decision, and maybe summarise the options considered.

Related

@JackKelly JackKelly added the documentation Improvements or additions to documentation label Mar 27, 2024
@JackKelly JackKelly moved this to Todo in light-speed-io Mar 27, 2024
This was referenced Mar 27, 2024
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
Status: Todo
Development

No branches or pull requests

1 participant