awakesecurity / proto3-suite

Haskell Protobuf Implementation
https://hackage.haskell.org/package/proto3-suite
Other
80 stars 55 forks source link

Update Tutorial.hs, giving hint on first enum value #247

Closed robinp closed 7 months ago

robinp commented 7 months ago

Tries to condense best practices for protobuf enum use. Fixes #235, kind of.

riz0id commented 7 months ago

I appreciate the contribution, but I'm not sure I agree this should be here. I would assume most people using proto3-suite with Haskell have enough familiarity with protobuf that they don't need to be reminded in a tutorial that is neither about protobuf nor does it demonstrates the fact being recalled.

I'd also like to point out, that I'm not sure its even true that google strongly recommends that the zero enum be UNKNOWN. Please correct me if I'm mistaken, but I believe that google only recommends that the zero enum be suffixed with "_UNSPECIFIED" in their protobuf style guide (due to the default behavior of enums). There are examples where protobufs provided by Google do not follow this convention though, for example see google/rpc/code.proto in googleapis.

I know the default behavior stuff with enum is frustrating. I find it incredibly frustrating myself and must frequently remind myself of the best practices and default behavior between proto2 and proto3. While I very much appreciate the contribution, I don't agree that the documentation you gave belongs in the tutorial.

robinp commented 7 months ago

Thank you for the feedback. I respect the opinion. May Github preserve the notes in our memories.