- 締切済み
Javaでパッチリリースする範囲
プログラミングではないので、ここが適切か疑問がありましたがJavaに関することですので投稿いたします。 すでにリリースしたJavaのプログラムがあります。 バグが発見されクラスを改修した場合、当然、リリース作業となりますが、できたらパッチリリースとしてリリースする範囲を狭めたいと思っています。 単純に考えれば、改修したクラスのみリリースすれば良いと思いますが、他のクラスとの整合性がとれるのか疑問があります。 そこで、このクラスはリリースする/しないを判断する情報がございましたら、ご提供くださるようお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- takaP-
- ベストアンサー率79% (83/105)
私は趣味でプログラムをやってる者なので、正確な情報とは思わないで聞いてください(じゃー書くな、とは仰らず・w) Java の場合、レイトバインディングですから、変更をしたクラスのみを入れ換えたとしても大きな問題は起きないような気がします。 もちろん、他クラスから呼び出されるべきメソッド・変数が存在しなければ実行時エラーとなって表れますが。 恐らく「バグ」と仰ってるので、メソッド内の処理を変更するだけだと思いますが、それでしたら、その手の不安もなさそうですし問題無いんじゃないでしょうか。 気になるところとしては、並列処理などが多用されている場合には多少は気を使う部分も出てくるかもしれないということと(でも、それは実装自体の問題ですから今回のこととは関係ないか。。)直列化(Serializable インターフェイス関連)の処理が存在する時には ID の違いによる不具合が出てくる可能性が在る(というか、間違い無く問題になる)という事ぐらいでしょうかね。 後、コンパイラは元の開発時のバージョンを使用した方が安全性は高いかもしれません。 まぁ、でも「手・金はかけられない」「無難に」というのが一義で、フルバージョンでのリリースのコストは気にならないというのでしたら、全てを同封するのが一番なのかもしれません。。。
- alexo
- ベストアンサー率40% (2/5)
リリースしたあとで、 1、ソースを目で見て、判断します。 2、結合テストをしなければなりません。
お礼
ご回答ありがとうございます。ただ、ご回答いただた手法では結局すべてのファイルを検証することとなり、時間や人の制約から、「それならばフルリリースで」となってしまいます。 お伺いしたかったのは、なるべく人の手を介さずに、どこまでをリリース対象とすれば問題ないかを、判断や助けとなるツール、または、判断材料となる仕様などの情報です。
お礼
ご回答ありがとうございます。 レイトバインディングをもとに再度情報収集しようと思います。 単にメソッド内の処理変更であれば問題はないのは想像するのですが、バグによってはAPI変更もあるのでそれは大丈夫かなと感じ、投稿いたしました。