Loại gợi ý là điểm tranh luận tại công ty chúng tôi (chủ yếu là người Java thích nó), và tôi là một lập trình viên PHP rất cũ (và lập trình bằng các ngôn ngữ khác).
Lời khuyên của tôi là tránh loại gợi ý và bao gồm xử lý thử/bắt trong mỗi hàm phức tạp.
Loại gợi ý buộc ứng dụng phải dựa vào môi trường xử lý ngoại lệ của người gọi nói chung là xấu và không được kiểm tra, vấn đề chính. Đối với các ứng dụng web, điều này dẫn đến màn hình trắng chết, cho hàng loạt kết quả chỉ đơn giản là một lối thoát chết người mà không cần đăng nhập các tin nhắn tốt trong hầu hết các trường hợp, và bạn đang gãi đầu cố gắng tạo lại vấn đề người dùng hoặc ứng dụng trở lại để giải quyết.
Xử lý ngoại lệ cục bộ cung cấp cho một kịch bản kiểm tra được kiểm soát nhiều hơn bao gồm rác trong các loại dữ liệu và rác trong giá trị dữ liệu, cung cấp bộ kiểm tra hoàn chỉnh hơn so với đường dẫn xử lý ngoại lệ khó kiểm tra trong trình gọi. nhập và mong đợi ngoại lệ.
Kiểm tra ngoại lệ cũng không thành công trong nhiều trường hợp do các vấn đề về phiên bản chồng lên nhau (ví dụ: một số phiên bản PHP như 5.4 không bắt lỗi "dễ bị tổn hại" theo cách thích hợp và đơn giản. vấn đề cụ thể, tuy nhiên trong loại kinh nghiệm của tôi chỉ đơn giản là không cần thiết, làm cho mọi người quen với ngôn ngữ đã gõ chấp nhận PHP tốt hơn mà không nhận ra tác động và gây ra nhiều kịch bản thử nghiệm phức tạp hơn (rất khó để kiểm tra người gọi xử lý kết quả đường dẫn ngoại lệ).
Java và các ngôn ngữ được nhập khác không chấp nhận hoặc hiểu cách tận dụng và hưởng lợi từ các tham số kiểu hỗn hợp mặc định trong PHP ... Họ sẽ học một ngày nào đó nhưng chỉ khi họ nắm lấy cách PHP. ;-)
Bài học hay nhất được học khi phát triển các kịch bản thử nghiệm dựa trên đơn vị PHP mạnh mẽ và thường sẽ làm sáng tỏ lý do loại gợi ý là một nỗi đau ở mông liên quan đến kiểm tra và gây ra nhiều vấn đề hơn là tốt ... Đối với từng ứng dụng của riêng họ và các ứng dụng của tôi chạy tốt hơn và đáng tin cậy hơn và thử nghiệm trở nên hoàn chỉnh hơn với phạm vi bao phủ 100% thường bao gồm các đường dẫn bắt trong các hàm cục bộ.
Nguồn
2016-07-21 13:17:36
Phải, tôi đồng ý. Tôi chỉ cảm thấy rằng tất cả những hợp đồng khắt khe đó bằng cách nào đó xa lạ với ngôn ngữ gõ vịt ban đầu. PHP đã đủ xấu xí và loại gợi ý làm cho nó trông giống như một đống các tính năng không liên quan. –
Tôi không biết, PHP đang phát triển (OOP). Các giao diện nghiêm ngặt cho các kiểu dữ liệu phức tạp có ý nghĩa với tôi. – Mario
Bên cạnh đó, bạn có được những điều tốt nhất của cả hai thế giới, xác định mức độ nghiêm ngặt ở đâu quan trọng, hay không, và để những thứ nhỏ năng động. – Mario