Open robertding opened 6 years ago
建议看下腾讯开源的blade(https://github.com/chen3feng/typhoon-blade) 对thrift编译的支持,运行时生成代码的缺点在于:
python是个解释性语言,所以thriftpy生成代码副作用并不明显,但是如果某个thrift文件需要和其他类型语言的模块一起配合使用的话,感觉还是把生成thrift代码的工作交给构建部分来执行比较好,thriftpy毕竟重在封装和优化thrift,而不是再生成一套thrift代码。
在我看来,生成代码最大的缺点是在需要改动idl的时候生成代码需要同步更改, 但是如果生成代码被认为改动了的话,很难再做merge,这就导致了idl几乎没办法再做修改。 所以我认为直接读取idl是一个比较好的实现。 还有其他考虑让thriftpy不采用生成代码的方式么? 或者说thrift为什么要采用生成代码的方式呢?
或者有没有说的比较明白的文章呢?