-
Notifications
You must be signed in to change notification settings - Fork 345
Add a non-strict Style Guide group #3
Comments
I don't think it's possible to unify the protobuf community at this point. What would be realistic might be auto-detection of different "profiles" (e.g. uber, google, default, strict). I say auto-detection because like I said, I don't think it's possible to get every protobuf user to adopt an additional configuration file. |
Hmm, any ideas on how to auto-detect? Trying to think of a simple heuristic or set of heuristics that would work. Maybe see what fails and choose? For Uber that would be problematic, we have to enforce the stronger one, so letting people fall back based on failures defeats the point. |
@amckinney @AlexAPB I think what is needed for v1.0 is that we commit to the "strict" style guide, and provide a fallback "non-strict" style guide post-v1.0. |
Agreed, let's stay as opinionated as possible for 1.0. |
Removing v1.0 label as this issue is more than just go over the Style Guide. However, going over the Style Guide is probably the last remaining item before v1.0. |
Now that we've removed the concept of lint groups, is this still applicable? As it stands today, Prototool comes configured with a set of default linters (that happen to conform to Uber's needs). If users disagree with the defaults, they can simply configure their linters otherwise, ie
It doesn't seem like we should concern ourselves with other group configurations - they can be easily configured explicitly. There are an infinite number of opinions with regard to style, so I think that it's important to draw the line here. @peter-edge Thoughts? Should we close this task? |
95% of the Protobuf community will not use this for linting because we don’t have an easy way to do this without listing linters. Having more users means more valid bug reports, which means better tooling for Uber. |
feat: fix github action conf
feat: fix github action conf
We've committed our draft Style Guide into
etc/style/uber/uber.proto
. This is the product of a lot of hashing out for what we want Protobuf files to look like within Uber. The rules inside this are inherently strict - we want there to be One Way To Do Things™ within Uber, and we want easy-to-follow rules that prevent users from making common mistakes. As Jisi on the Protobuf team at Google pointed out though, this style guide would require migration for most existing users.What my hope is is that we have the new "recommended/strict Style Guide" that accomplishes our goals within Uber, which I think apply to the greater community - if we have a consistent way to do enums, a consistent naming convention for
go_package, java_package
, etc, everyone wins, and makes things like consistent output of stubs easier. We also have the "default Style Guide" that does the bare minimum enforcement.For the record, here are the rules I have to ignore to get googleapis to pass lint:
Action items:
Copying Jisi's feedback from an email (hope this is ok Jisi!):
The text was updated successfully, but these errors were encountered: