微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

查找未使用的protobuf消息

如何解决查找未使用的protobuf消息

我们有一个包含许多原始文件的大型项目。其中许多包含不再在任何地方使用的消息,因此我想删除它们。但是,由于项目的规模,要弄清哪些消息仍然是必需的,哪些消息不是必需的,并非易事。

我最初的方法是对消息进行注释,然后对代码进行注释,直到编译器满意为止(Java,C ++)。不幸的是,我们也有大量的python,这种方法不起作用,并且总是运行所有测试用例太昂贵了。

以前有人遇到过这种情况吗?是否有任何工具可以帮助检测Java,C ++和Python中未使用的protobuf消息?

编辑: 我可能应该补充一点,我们目前(仍然)可以控制所有用法,因此项目外没有人在使用它们。

解决方法

这是一个有趣的问题,但是我怀疑(!?)工具的挑战在于,很难(不可能?)确定原型的下游依赖性。

protobuf源代码被编译为至少一种语言的源代码,然后将这些源代码作为依赖项导入代码中。该代码本身(通常)经过编译和捆绑(例如,作为某处的容器映像)并部署到生产中。

此外,原型通常通过定义软件接口分发给其他人(其他团队,部门,组织等),并且每个实体都创建相同的下游数字链。

您可能希望通过注释消息或将原型移至归档目录来进行正式的归档过程,而不是“删除”(擦除)。

这两种方法均应允许您检测将来的编译错误并在必要时恢复消息。

请谨慎考虑,以确保在消息变得多余时,该过程将上述存档机制作为作为正式存档机制,而不是将其作为定期的“让我们开始寻找冗余”。

>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。