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

0000-template.md: Encourage discussion of maintenance #2432

Merged
merged 2 commits into from
Nov 1, 2022

Conversation

joshtriplett
Copy link
Member

Add some points to encourage RFCs to discuss how a proposal impacts the
ease of reading, understanding, and maintaining Rust code, not just the
ease of writing it.

Inspired by many recent discussions on proposed language features.

cc @rust-lang/lang

@Centril Centril added the T-core Relevant to the core team, which will review and decide on the RFC. label May 6, 2018
@mgeisler
Copy link

mgeisler commented May 6, 2018

Thanks, I think this is a great addition.

@Centril
Copy link
Contributor

Centril commented May 6, 2018

This does not constitute a change in policy right, just a reminder to authors?

The changes in the text look super great to me 💯.

@joshtriplett
Copy link
Member Author

@Centril I don't think this is a change to policy, no, just some encouragement to cover this point in RFC text.

@WiSaGaN
Copy link
Contributor

WiSaGaN commented May 19, 2018

I think one of related points is to invite more industrial users to voice their opinion and concern. They are the main proponents for language adoption, and they have more experience in using the language in production.

@burdges
Copy link

burdges commented Jun 6, 2018

Just a fun quotes from Yaron Minsky's Effective ML talk:
"Whenever there is a difference of opinion between [the writer of code and the reader of code], the readers are always right and the writers are always wrong." -

I'm not criticizing recent ergonomics features here, like default binding modes might make auditing the logic's correctness easier. I just like the sentiment overall. :) In fact, another couple fun quotes from his Caml Trading talk:
"You basically cannot pay people enough to code review dull [boiler plate] code. .. We've tried."
"Any [mental tools] that let you offload [the informal proofs involved in reading code] is a huge win"

@nikomatsakis
Copy link
Contributor

I'm a bit concerned that the templates are becoming a kind of laundry list. I'm a bit concerned because complex templates are a bit of a barrier to entry and often don't apply to all teams (e.g., does this apply to a "policy RFC"?).

Furthermore, people can simply delete these points, and then it's as if they never existed — when really what we want is to ensure that the discussion takes these points into account.

I have an alternate proposal. Instead of putting this text in the template, where it can be deleted or overwhelming, maybe we should make a "review-guidelines" directory on the repository with "per team" advice. So e.g. the lang team could include this (and other) considerations. We can then add advice encouraging reviewers -- both team members and non-team members alike -- review the RFC with respect to these criteria (in addition to their general thoughts).

@joshtriplett
Copy link
Member Author

@nikomatsakis I can absolutely agree that an excessively busy template could do as much harm as good. I would certainly be happy to edit the templates in more detail, and perhaps attempt to streamline them somewhat in ways that reflect how people tend to describe proposed changes in practice.

However, I do think part of this change ("Does the proposed change make Rust code easier or harder to read, understand, and maintain?") applies to any kind of change, library and language alike. The "If this is a language change" bit is perhaps more awkward. I think I could find a way to make it fit better, though.

Does that seem plausible?

@Centril Centril added the A-meta Proposals about how we make proposals label Nov 22, 2018
@matu3ba
Copy link

matu3ba commented May 10, 2020

@nikomatsakis Any progress on this?
Identify the different subtypes would be a start. Do there exists efforts on that?

Bot-processing could also be used.

Ideally the status would be labeled as well (experiments, abandoned, active) with a infrequent ping for update status of the author(when no discussion takes place).

@nikomatsakis
Copy link
Contributor

I had completely forgotten about this. I don't really have a strong opinion one way or the other I suppose. =)

@lahwran
Copy link

lahwran commented Jan 8, 2021

I would vote to merge. I think this change applies well to itself.

@joshtriplett joshtriplett changed the title 0000-template.md: Encourage discussion of maintanence 0000-template.md: Encourage discussion of maintenance Nov 1, 2022
Add some points to encourage RFCs to discuss how a proposal impacts the
ease of reading, understanding, and maintaining Rust code, not just the
ease of writing it.
"how will this" comes across as though *every* RFC is about making code
easier to maintain. Some RFCs may just be maintenance-neutral.
@joshtriplett joshtriplett force-pushed the think-about-maintenance branch from 00073bb to 71e82bf Compare November 1, 2022 14:34
@pnkfelix pnkfelix merged commit 2c5b2e3 into rust-lang:master Nov 1, 2022
@joshtriplett joshtriplett deleted the think-about-maintenance branch November 1, 2022 16:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-meta Proposals about how we make proposals T-core Relevant to the core team, which will review and decide on the RFC.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants