liurenjie1024 commented on PR #29:
URL: https://github.com/apache/iceberg-rust/pull/29#issuecomment-1683384896

   To add some background here about the design philosophy here for reviews not 
familiar with rust:
   
   1. All  structs with the suffix `V1`/`V2` are used for making 
serializtion/deserialization easier to maintain. It's sth like handwritten 
schema definition of specs, and they will be discard after reading from/writing 
to disk file, and it's not user facing. Unlike java/python, rust has no runtime 
reflection, and the serializtion/deserialization codes are generated in compile 
time.
   
   2. About access modifiers. `pub` in rust is similar to `public` in java, 
which means accessible to code outside of package. `pub(crate)`  is similar to 
default access modifier, which is only visible to codes in same package.
   
   We have a discussion about the overall structure design in #2 #3 
   
   cc @Fokko Hope this comment can help you understand it better.


-- 
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