proost commented on issue #170:
URL: 
https://github.com/apache/datasketches-rust/issues/170#issuecomment-5105929688

   @tisonkun
   
   In datasketches-go, when we add serialization/deserialization support, we 
generally include cross-language compatibility test code and snapshot 
generation code. We may also include generated sketch binaries, although 
committing the binaries themselves is optional as long as they can be 
reproduced from the generator.
   
   The compatibility test code is the important part. It should include the 
snapshot generation logic so that we can understand how each snapshot was 
produced and regenerate it when necessary.
   
   I think implementing the snapshot generation code itself is relatively 
straightforward. The more difficult part for a first-time contributor is 
figuring out which cases need to be covered and why. That usually requires 
understanding the sketch's internal, serialization format, and the cases that 
may affect cross-language compatibility.
   
   That said, I do not think all of this work necessarily needs to be included 
in a single PR. Serialization/deserialization support, snapshot generation, 
generated binaries, and cross-language compatibility tests can be split into 
separate PRs or issues, as long as maintainers track the related work.
   
   However, all of them should be completed before the first release that 
includes the new serialization/deserialization support. Cross-language 
compatibility is one of the core properties of DataSketches. If serialization 
support is released before the compatibility tests are in place, we may release 
an incompatible binary format and discover the problem only after users have 
already produced release.
   
   So I think this can be a good first issue if maintainers provide guidance 
about the required test cases and make sure the remaining compatibility work is 
tracked as a release requirement.
   
   ------
   
   However, datasketches-rust has not released v1.0.0 yet, so I think it is 
reasonable to be somewhat less strict during the pre-1.0 development phase. 
User and community understand that point :)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to