andygrove opened a new issue, #1330: URL: https://github.com/apache/datafusion-comet/issues/1330
### What is the problem the feature request solves? The QueryPlanSerde class in Comet currently contains a huge match statement that handles the logic for translating Spark expressions into protobuf. Each match arm: - Performs type-checking to determine if the expression is supported. - Contains the code for converting the expression into its protobuf representation. While functional, this approach has limitations: - Readability: The large match statement makes the code harder to navigate and maintain. - Testability: Testing specific expression logic requires interacting with the entire QueryPlanSerde implementation. - Extensibility: Adding support for new expressions or customizing behavior for specific expressions is non-trivial. I would like to refactor QueryPlanSerde to move the logic for each expression into individual classes or objects. Each expression type would have its own class or object that performs type-checking and conversion to protobuf. This would help with unit testing since we can write tests to interact with these new classes or objects without having to use the full QueryPlanSerde implementation. ### Describe the potential solution _No response_ ### Additional context _No response_ -- 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: github-unsubscr...@datafusion.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org