Ngừng sử dụng các thành phần của hệ thống thiết kế mà không làm gián đoạn nhóm sản phẩm
Cách triển khai các thay đổi đột phá về hệ thống thiết kế trong các ứng dụng lớn: thông báo, ngừng sử dụng, di chuyển bằng codemod và xóa, sử dụng tính năng theo dõi việc sử dụng và lập phiên bản ngữ nghĩa.
Điểm chính
Loại bỏ một thành phần theo bốn bước: thông báo thay đổi kèm theo lý do và thành phần thay thế, đánh dấu thành phần cũ không được dùng nữa trong một bản phát hành nhỏ bằng các cảnh báo rõ ràng, giúp các nhóm di chuyển bằng hướng dẫn và mã hóa tự động, đồng thời chỉ xóa thành phần đó trong bản phát hành chính tiếp theo. Theo dõi số lượng màn hình vẫn sử dụng nó ở mỗi bước và không xóa nó cho đến khi mức sử dụng gần bằng 0.
Tại sao việc ngừng sử dụng lại sai lầm
Các thay đổi trong hệ thống thiết kế không thành công khi chúng gây bất ngờ cho các nhóm sản phẩm: một thành phần biến mất trong bản cập nhật, bản dựng bị hỏng và các nhóm ghim phiên bản cũ và ngừng nâng cấp. Một khi điều đó xảy ra, hệ thống sẽ mất đi lợi ích chính, tính nhất quán, vì các phần khác nhau của sản phẩm sẽ chuyển sang các phiên bản khác nhau.
Một quy trình gồm bốn bước
Lập phiên bản ngữ nghĩa đưa ra một hợp đồng đơn giản: những thay đổi không tương thích sẽ xuất hiện trong một phiên bản chính và khi bạn không dùng nữa một phần của API, bạn nên cập nhật tài liệu và gửi một bản phát hành nhỏ có sẵn phần không dùng nữa, trước khi xóa nó sau.
- Thông báo: giải thích lý do, chỉ ra sự thay thế, đưa ra mốc thời gian.
- Không dùng nữa: đánh dấu nó trong tài liệu và mã, với bảng điều khiển hoặc cảnh báo tìm lỗi mã nguồn liên kết đến hướng dẫn.
- Di chuyển: cung cấp hướng dẫn bằng văn bản và đối với mã, một codemod tự động cập nhật cách sử dụng.
- Xóa: trong bản phát hành chính tiếp theo, khi mức sử dụng gần bằng 0.
Tự động hóa việc di chuyển
Codemod là các tập lệnh viết lại mã trên một cơ sở mã. Các công cụ như jscodeshift chạy codemod trên nhiều tệp JavaScript hoặc TypeScript cùng một lúc, do đó, việc đổi tên prop hoặc hoán đổi thành phần có thể được áp dụng trong vài phút thay vì vài tuần. Ghép nối chúng với các quy tắc tìm lỗi mã nguồn để gắn cờ các cách sử dụng còn lại.
Đo lường việc áp dụng
Bạn không thể lập kế hoạch loại bỏ mà không biết ai vẫn đang sử dụng một thành phần. Theo dõi việc sử dụng mã (nhập, cảnh báo tìm lỗi mã nguồn) và trong tệp thiết kế (phân tích thư viện trong công cụ thiết kế của bạn). Công bố các con số để các đội có thể thấy được sự tiến bộ và trực tiếp giúp đỡ những đội cuối cùng thay vì ép buộc về thời hạn.
Đừng quên khía cạnh thiết kế
Đồng thời, ngừng sử dụng thành phần trong thư viện thiết kế: đổi tên thành phần đó bằng tiền tố "Không dùng nữa", liên kết đến thành phần thay thế và ngăn thành phần đó xuất hiện trong tìm kiếm. Nếu không, các nhà thiết kế sẽ tiếp tục sử dụng nó trong công việc mới và quá trình di chuyển sẽ không bao giờ kết thúc. Hành vi chuyển động và tương tác phải là một phần của ghi chú thay đổi, bởi vì vật thay thế di chuyển khác có thể có cảm giác bị hỏng ngay cả khi nó trông giống nhau.
Nguyên tắc chính cần nhớ
- Thông báo, ngừng sử dụng, di chuyển, xóa: không bao giờ chuyển ngay đến phần xóa
- Không dùng nữa trong một bản phát hành nhỏ; loại bỏ trong một bản phát hành chính
- Sử dụng codemod và quy tắc tìm lỗi mã nguồn để tự động di chuyển
- Theo dõi việc sử dụng trong cả tệp mã và tệp thiết kế
- Bao gồm các thay đổi về chuyển động và tương tác trong ghi chú phát hành
Câu hỏi thường gặp
Nguồn
- Semantic Versioning 2.0.0 — semver.org
- jscodeshift: a JavaScript codemod toolkit — GitHub (Meta)