我们正在使用一些二进制序列化程序,它要求我们使用 ID 注册一个序列化程序。
所以我们有一个像这样的巨大文件
...
registerSerializer(classOf[SomeClass1], SomeClass1Serializer, id = 3456)
registerSerializer(classOf[SomeClass2], SomeClass2Serializer, id = 3457)
registerSerializer(classOf[SomeClass3], SomeClass3Serializer, id = 3458)
...
文件越大,合并冲突越多,同一 ID 可能被多次使用的机会(并且已经发生)就越高(这很糟糕)。
我们可以请 Scala 编译器在这里帮助我们吗?如果重复使用相同的 id 会导致编译错误,那么方法是什么?任何不使用宏的方法?