Câu trả lời của cái này rất đơn giản.
Tính nhất quán là rất quan trọng.
nhưng nó đi kèm với một cảnh báo ...
Bạn và đồng nghiệp của bạn có thể bị ám ảnh bởi sự nhất quán sai
Triển khai là dùng một lần. Chúng có thể được đại tu hoàn toàn với mức độ dễ dàng khác nhau tùy thuộc vào chất lượng và tính toàn diện của bộ thử nghiệm. Lo lắng về những điều như "Đây có nên là một tài sản không?", "Không nên sử dụng mã này để sử dụng LINQ thay vì cấu trúc cấp thấp hơn?" là giá trị đáng ngờ. Rất khó để buộc bất kỳ phép đo nào với giá trị của tính nhất quán ở cấp độ thực hiện. Một câu hỏi tốt hơn để hỏi ở cấp độ này là "Mã này có hoạt động như quảng cáo không?". Tính nhất quán khi thực hiện TL; DR là nơi "những bộ óc nhỏ" có được hobgoblin của họ.
Tại sao tính nhất quán không quan trọng ở đây? Việc triển khai thường có một số lượng nhỏ những người đóng góp. Hầu hết các phương pháp được viết và không bao giờ chạm vào một lần nữa. Trong số các mã còn lại, số phương thức có hai người đóng góp gần như chắc chắn chiếm đa số. Mô hình này tiếp tục quảng cáo vô hạn . Trong bối cảnh này, tính nhất quán không quan trọng. Nếu thời hạn sử dụng của mã là khá nhỏ ( một vài năm ), lợi ích từ tính nhất quán tích cực có thể là một yếu tố không quan trọng.
Điều này không có nghĩa là bạn nên phát điên khi thực hiện. Thay vào đó, để nói rằng một thiết kế đơn giản, gọn gàng, đẹp đẽ sẽ là những mệnh lệnh có giá trị lớn hơn đối với người bảo trì tương lai giả định của bạn so với phương pháp nhất quán tấm nồi hơi ngớ ngẩn bằng phương pháp. Điều này đưa chúng ta đến điểm thực sự ...
API không dùng một lần.
Đây là tất cả các cấp mã API, dịch vụ web, SDK, v.v ... Những điều này phải, phải, PHẢI nhất quán. Tăng năng suất từ sự nhất quán này là rất lớn vì nhiều lý do:
Kiểm tra tích hợp:
Nếu bạn giữ API của mình nhất quán, bạn có thể tạo các bộ kiểm tra tích hợp. Điều này cho phép các nhà phát triển tự do trao đổi các chi tiết thực hiện và đạt được xác nhận ngay lập tức. Bạn muốn trao đổi các đồng nghiệp của bạn tào lao sang LINQ? Làm các bài kiểm tra tích hợp chạy? Nó cũng cung cấp xác nhận khi chuẩn bị đi vào sản xuất. Bởi vì máy tính rất nhanh, một chiếc máy tính xách tay có thể tạo ra công việc của hàng ngàn người thử nghiệm thực hiện các nhiệm vụ trần tục. Nó tương đương với việc tăng số lượng nhân viên của tổ chức của bạn một cách đáng kể.
Năng suất
Khi API nhất quán, bạn có thể đoán về cách sử dụng API chỉ bằng cách làm theo những gì bạn đã học về cách sử dụng các phần khác của API. Điều này là do API tạo ra "giao diện" tự nhiên, nhất quán. Điều đó có nghĩa là khách hàng của bạn dành ít thời gian hơn để sàng lọc thông qua tài liệu. Lên tàu dễ dàng hơn và rẻ hơn. Những câu hỏi ít hơn được hỏi cho những người đã phát triển API. Sự nhất quán làm cho mọi người trở thành người chiến thắng
Tại sao tính nhất quán quan trọng trong kịch bản này? Bởi vì API có vấn đề hoàn toàn ngược lại với việc triển khai. Số người sử dụng chúng thường lớn hơn nhiều so với số người đóng góp cho việc triển khai của họ. Lợi nhuận nhỏ từ tính nhất quán nhỏ được nhân lên và chi phí duy trì tính nhất quán đó được khấu hao.
Phần kết luận
Tính nhất quán là đắt tiền. Trên mặt của nó làm giảm năng suất. Nó kìm hãm các nhà phát triển và làm cho cuộc sống của họ khó khăn hơn. Nó đặt ra những hạn chế về cách họ có thể giải quyết vấn đề đôi khi buộc họ phải giải quyết nó theo cách không tối ưu. Điều này thường là vì những lý do họ không hiểu, không hiểu biết hoặc họ không bí mật (hợp đồng, chính sách tổ chức lớn hơn hoặc liên tổ chức).
Raymond Hettinger đã đưa ra một số điểm xuất sắc trong bài nói chuyện về Pycon 2015 của mình về việc sử dụng hướng dẫn phong cách PEP8 cho các nhóm lập trình viên python. Ông đã chỉ ra rằng nỗi ám ảnh về tính nhất quán về phong cách trên một đoạn mã đã khiến các nhà đánh giá mã bỏ lỡ các lỗi nghiêm trọng về logic và thiết kế. Giả thuyết của ông có thể được tóm tắt là việc tìm kiếm sự không nhất quán về phong cách là dễ dàng; xác định chất lượng thực sự của một đoạn mã là khó
Điểm ở đây là rất quan trọng. Xác định nơi nhất quán là quan trọng và bảo vệ nó tích cực. Trường hợp không quan trọng đừng lãng phí thời gian của bạn. Nếu bạn không thể cung cấp một cách khách quan để đo lường giá trị của tính nhất quán (trong các trường hợp trên là "số lượng hiệu quả", chi phí là một hàm của năng suất) và bạn không thể chứng minh lợi nhuận là đáng kể thì có khả năng bạn đang thực hiện một sự bất đồng tổ chức của bạn.