0

我有一些代码,由已不在我们公司的人编写。他在代码的很多地方都使用了序列化(实现可序列化),我认为这是不必要的。

在从代码中删除这些序列化之前,我应该注意哪些预防措施?

编辑 - 在下面添加

1)我们的代码不是通过网络访问的。无需流式传输。也没有 Servlet。
2)没有对象到字节数组的转换发生在任何地方
3)它只是一个运行在单个 JVM 中的独立应用程序
4)它只是读取一个文件并将数据放入数据库中。数据库可能是远程的。
5) 没有任何 RMI/Corba 组件
6) 这些类的已知父级都不是可序列化的

还有其他需要处理的情况吗?

4

3 回答 3

2

我很想离开它们,因为如果不使用它们相对无害。JDK 中的许多类都可以Serializable,但这不是问题。

如果您已经检查了这些类,则永远Serializable可以删除它。如果这很容易可靠地测试,您可以这样做。否则我不会冒险,只是以后不要这样做。(制作Serializable不是的类)

于 2013-01-16T15:40:57.933 回答
2

在从代码中删除这些序列化之前,我应该注意哪些预防措施。

确保你有一套好的单元测试和系统测试可用......并使用版本控制。

您还可以在代码库中搜索使用 ObjectStream 类的代码,但该用法可能隐藏在库和框架代码中。

我同意彼得的观点。删除implements Seralizable不太可能实现任何有价值的事情。(至少......不是从你的经理的角度来看。)

于 2013-01-16T15:44:43.807 回答
1

请注意,有些库需要类Serializable

因为它没有害处,我会把它留在代码中。

于 2013-01-16T15:44:26.193 回答