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]
