Trước đây, tôi đã sử dụng cách tiêu chuẩn để thêm @Deprecated
chú thích vào các phương thức API sẽ bị xóa trong phiên bản mới hơn.
Bây giờ tôi đang chuẩn bị một phiên bản chính cho một thư viện, với nhiều phần API được gỡ bỏ và đổi tên.
Để giúp việc chuyển đổi dễ dàng hơn cho người dùng hiện tại, có thể hữu ích nếu phiên bản thư viện mới có thể được sử dụng song song với phiên bản cũ.
Ưu điểm
- chuyển đổi động giữa các phiên bản có thể được thực hiện
- các ứng dụng có thể quay lại phiên bản trước nếu lỗi được tìm thấy trong phiên bản mới (hữu ích trong giai đoạn beta)
Để làm điều này, tôi chỉ đơn giản là có thể di chuyển phiên bản thư viện mới cho một gói mới từ com.mycompany.library
đếncom.mycompany.library.v2
Đây có phải là một thực tiễn phổ biến hoặc có các khuyến nghị khác cho việc sử dụng các thư viện Java song song như vậy không?
Lý lịch:
thư viện là một công cụ chuyển đổi tài liệu đơn giản. Vì vậy, bên cạnh một mehtod chuyển đổi (vào, ra), nó có nhiều thuộc tính cấu hình và một số trình xử lý sự kiện. Nếu tôi cung cấp việc sử dụng song song, người tiêu dùng có thể tự động khởi tạo và định cấu hình chúng:
if (useVersion2) {
com.mycompany.library.v2.Converter c = new com.mycompany.library.v2.Converter();
// configure and run
c.setOption(...);
c.convert(in, out);
} else {
com.mycompany.library.Converter c = new com.mycompany.library.Converter();
// configure and run
c.setOption(...);
c.convert(in, out);
}
(câu hỏi được chuyển từ /programming/37192945/ )
for a short time period
. Cả hai chúng ta đều biết ý nghĩa của thời gian trong công nghệ phần mềm. Có phải chúng ta không? ;-)
@Deprecated
chú thích vào mã của bạn. Sau đó, khi phát hành, khi mọi người cập nhật, họ sẽ thấy mã đó không được dùng nữa và họ sẽ thay đổi. Sau đó, loại bỏ tất cả các mã với nhau.