Cách đây rất lâu, chúng tôi đã thêm một tính năng trong đó người dùng của chúng tôi có thể "Chấp nhận" một hình ảnh sau khi nó được thêm vào hàng đợi công việc. Hóa ra, chúng tôi đã sử dụng thuật ngữ sai và người dùng thực sự "Phê duyệt" hình ảnh.
Thay đổi Chấp nhận thành Phê duyệt trên giao diện của chúng tôi rất dễ dàng, chỉ cần thay thế một từ. Nhưng chúng tôi đã lập trình tất cả các lớp với từ "chấp nhận", từ tên lớp CSS đến các giá trị cơ sở dữ liệu.
- Lớp CSS chuyển nút màu xanh lá cây: ".accepted";
- Phương thức mô hình xác minh và liên kết thuộc tính lớp trên nút DOM: "isAccepted";
- Thuộc tính trạng thái JavaScript: Mảng có "không được xem xét", "được chấp nhận" và "đã xuất bản";
- Cột trạng thái Mysql: ENUM với "chưa được xem xét", "được chấp nhận" và "đã xuất bản";
- Tên thử nghiệm;
Đó là chuyện nhỏ (đặc biệt khi bạn có bài kiểm tra) để thay thế hầu hết các lần chấp nhận để phê duyệt. Khó hơn một chút là di chuyển dữ liệu, đặc biệt vì nó cần được đồng bộ hóa với việc triển khai.
Trường hợp cụ thể này là đơn giản, nhưng tôi đã phải đối mặt với các trường hợp tương tự, nhưng phức tạp hơn, trong sự nghiệp của tôi. Khi một tệp cũng được đổi tên và triển khai xảy ra trên hàng tá máy chủ hoặc khi lưu trữ bộ đệm proxy, memcached và mysql có liên quan.
Rời khỏi "được chấp nhận" trên mọi lớp khác ngoại trừ giao diện là một ý tưởng tồi, vì các lập trình viên mới gia nhập nhóm có thể không tìm hiểu lý do lịch sử dẫn đến quyết định này và trong khi chấp nhận -> chấp nhận là những từ gần nghĩa về mặt ý nghĩa, nếu nó đã được đổi tên thành "xếp hàng cho cuộc họp trạng thái tiếp theo của người quản lý", nó chắc chắn sẽ không có ý nghĩa gì. Và cảm giác nếu chúng ta thỏa hiệp ở đây và ở đó, trong một vài lần lặp lại, các khái niệm giao diện người dùng sẽ không có mối liên hệ nào với các hệ thống bên trong và tôi chắc chắn không muốn làm việc trên một hệ thống mà một nửa đầu ra không có kết nối với các bộ phận bên trong của nó.
Vì vậy, bạn luôn đổi tên mọi thứ khi cần? Nếu điều này xảy ra với bạn và bạn quyết định rằng sự đánh đổi là không đáng, liệu nó có quay lại cắn bạn không? Là nhận xét mã hoặc tài liệu dành cho nhà phát triển đủ để tránh vấn đề này?