protocolbuffers / protocolbuffers.github.io

Other
38 stars 107 forks source link

Documentation update #176

Closed Logofile closed 1 month ago

Logofile commented 1 month ago

This documentation change includes the following:

PiperOrigin-RevId: 659566969 Change-Id: Ibc191468b743180ddc49ff149664fe8a5e938cdc

npotts commented 1 month ago

Who is responsible for the creation of these rules?

Some of these suggestions make some sense, but none of the tradeoffs are presented or discussed. Is there an oversight committee or real-world usage that was consulted? Are these suggestions because of different language problems?

I am curious because this seems like shift from "probably a good idea" to "thou shalt seperate", and for a guide, there should be room for nuance.

Logofile commented 1 month ago

We've been making a shift from "show all the ways" to more-opinionated documentation for the past several years. These guidelines are the best practices that have coalesced after seeing what happens when they're not followed by teams and implementations within the company. You are, of course, free to deviate where you feel the practices don't match your implementation.

As for the "why" question, I may be able to inject some of that into the 1-1-1.md document. For example, the recommended limitation on enum sizes stemmed partly from the Java language limitation of 1,700 values.

npotts commented 1 month ago

Thanks for the followup! That is good to know and helpful to understand the "why".