0

私は、会社を離れた誰かによって書かれたコードをいくつか持っています。彼はコードのかなりの数の場所でシリアライゼーション (Serializable を実装) を使用していますが、それは不要だと思います。

これらのシリアル化をコードから削除する前に、どのような注意を払う必要がありますか?

編集 - 以下に追加

1) 私たちのコードはネットワーク経由でアクセスされません。ストリーミングは必要ありません。サーブレットもありません。
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 に答える