在我看来,为新类明确指定 serialVersionUID 是不好的。考虑两种情况,当布局有它应该改变时不改变它,当它不应该改变它时改变它。
当它应该被改变时不改变几乎只发生在它是明确的时候。在这种情况下,它会导致一些非常微妙、难以发现的错误。特别是在开发过程中,当类布局经常变化时。但是如果没有明确指定,它会改变并且反序列化会大声中断,很可能通过清除存储库来解决。
几乎只有在它是隐式的时候才会在不应该的时候改变它。这是类布局已更改但我们仍希望从旧的序列化 blob 中反序列化的罕见情况。这可能会在 QA 期间被捕获(从 5.2 升级到 5.2.1 后出现奇怪的错误,请参阅附加的堆栈跟踪),并且可以通过设置显式值来轻松修复。
评论?