Câu chuyện tái phát triển engine Sync của Dropbox
(dropbox.tech)-
Được tái phát triển bằng Rust trong 4 năm và đã triển khai
-
Phần chính (Control) hoạt động theo mô hình single-thread và xử lý bất đồng bộ bằng futures
-
Hoạt động hoàn toàn mang tính quyết định đối với đầu vào
→ Nhờ vậy có thể kiểm thử ngẫu nhiên và dễ tái hiện lỗi hơn
- Những điểm đã cân nhắc trước khi tái phát triển
✓ Đã thử refactor chưa?
✓ Đã thử cải thiện hiệu năng bằng cách tối ưu các phần quan trọng chưa?
✓ Có thể mang lại giá trị bổ sung không?
✓ Đã hiểu hoàn toàn hệ thống hiện tại chưa?
✓ Thời gian phát triển có đủ không?
✓ Có chấp nhận được việc việc phát triển tính năng mới trên engine hiện tại sẽ bị chậm lại không?
✓ Vì sao bạn nghĩ rằng phát triển lại sẽ tốt hơn?
✓ Nguyên tắc của hệ thống mới là gì?
1 bình luận
Đây là những câu hỏi cần đặt ra trước khi nói rằng hãy "làm lại từ đầu" đối với một hệ thống hiện có.