Nó có thể là một vấn đề cá nhân của tôi, nhưng tôi thích giữ mã trong các dự án sống được cập nhật - bao gồm các thư viện / khung mà họ sử dụng. Một phần của nó là tôi tin rằng một ứng dụng web sẽ an toàn hơn nếu nó được vá đầy đủ và cập nhật. Một phần của nó chỉ là một liên lạc của sự cưỡng chế ám ảnh về phía tôi.
Trong bảy tháng qua, chúng tôi đã thực hiện viết lại phần mềm chính của chúng tôi. Chúng tôi đã bỏ khung Xaraya, một sản phẩm chậm và về cơ bản đã chết như một sản phẩm và chuyển đổi sang Cake PHP. .
Chúng tôi đã triển khai thử nghiệm đơn vị với SimpleTest và tuân theo tất cả các quy ước đặt tên tệp và cơ sở dữ liệu, v.v.
Bánh hiện đang được cập nhật lên 2.0. Và, dường như không có đường dẫn di chuyển khả thi để nâng cấp. Các quy ước đặt tên cho các tệp đã thay đổi hoàn toàn và chúng đã bỏ SimpleTest để ủng hộ PHPUnit.
Điều này khá nhiều sẽ buộc chúng tôi ở lại nhánh 1.3 bởi vì, trừ khi có một loại công cụ chuyển đổi nào đó, sẽ không thể cập nhật Cake và sau đó cải thiện dần mã di sản của chúng tôi để gặt hái những lợi ích của khung Cake mới . Vì vậy, như thường lệ, chúng tôi sẽ kết thúc với một khung cũ trong kho Subversion của chúng tôi và chỉ cần tự vá nó khi cần thiết.
Và đây là những gì tôi nhận được mỗi lần. Vì vậy, nhiều sản phẩm nguồn mở không làm cho nó đủ dễ dàng để giữ cho các dự án dựa trên chúng được cập nhật. Khi các nhà phát triển bắt đầu chơi với một đồ chơi sáng bóng mới, một vài bản vá quan trọng sẽ được thực hiện cho các nhánh cũ hơn, nhưng phần lớn trọng tâm của họ sẽ tập trung vào cơ sở mã mới.
Làm thế nào để bạn đối phó với những thay đổi căn bản trong các dự án nguồn mở mà bạn sử dụng? Và, nếu bạn đang phát triển một sản phẩm nguồn mở, bạn có giữ các đường dẫn nâng cấp trong tâm trí khi bạn phát triển các phiên bản mới không?