Lớp trừu tượng có nên luôn có tiền tố là Abstract
và có hậu tố Interface
(khi đó là giao diện) không? Có bất kỳ quy ước đặt tên chuẩn nào, tương tự như PSR-0 cho cấu trúc thư mục/không gian tên, nhưng đối với các lớp học?Quy ước đặt tên PHP về lớp trừu tượng và giao diện
Trả lời
Không có quy ước cho việc này; đặc biệt là trong PHP. Điều này tất cả có thể được tổ chức tuy nhiên bạn muốn.
Với việc bổ sung namespaces trong PHP 5.3, tôi không thấy cần thêm Abstract
hoặc Interface
tiền tố/hậu tố cho tên lớp thực tế.
Chỉ cần đặt tên mọi thứ giống như chúng!
Mặc dù không có bất kỳ quy ước nào, tôi nghĩ rằng đó là thực tiễn tốt sử dụng tiền tố Abstract
và hậu tố Interface
cho các thành phần tương ứng. Nó giúp hiểu rõ hơn về mã trong nháy mắt, IMO.
Quy ước là những gì bạn thấy chúng như: bản thân ngôn ngữ không ép buộc bất kỳ quy ước nào khác ngoài ngôn ngữ làm cho trình phân tích cú pháp có thể đọc được mã của bạn. Về cơ bản, bạn nên có quy ước thiết lập trên của riêng bạn cho một dự án cụ thể, hoặc tốt hơn, cho tất cả các dự án của bạn. Tuy nhiên, làm việc trong các nhóm của những người khác nhau có thể dẫn đến các công ước không được theo sau, nó thực sự phụ thuộc vào các lập trình viên.
Từ kinh nghiệm của tôi, tôi khuyên bạn nên làm theo một cái gì đó như "thiết kế theo hợp đồng". Đặt tên cho các hợp đồng (giao diện) của bạn như bạn đặt tên cho lớp triển khai của bạn, và sau đó cung cấp cho bạn một tên cụ thể hơn (hoặc dự phòng cho MyContractNameImpl, được biết đến chủ yếu từ Java mà tôi đoán). Ngoài ra, nhiều IDE hiện đại biết liệu lớp học của bạn là một giao diện hay trừu tượng, vì vậy thực sự không cần phải đặt nó trong tên của nó. Tôi cũng tìm thấy các hợp đồng có tên như "IMyContract" không thực sự tốt, vì những lý do tương tự.
Đặt tên lớp và giao diện trừu tượng của bạn bằng cách sử dụng:
- Tóm tắt *
- * Giao diện
sẽ giữ codebase của bạn sạch, đẹp và rõ ràng để nhóm của bạn những gì là nguyên mẫu, những gì là các hợp đồng và triển khai cụ thể là gì.
Quy ước đặt tên ở đây để tăng năng suất của chúng tôi trong bất kỳ trường hợp nào, vì vậy "tên bạn thích" là ý tưởng hay.
Mặc dù nhóm FIG không đề xuất quy ước đặt tên cho lớp trừu tượng và giao diện - nếu bạn kiểm tra các dự án PHP nguồn mở chính, bạn sẽ thấy rằng hầu hết tất cả đều sử dụng quy ước này.
- 1. Quy ước đặt tên cho một lớp trừu tượng?
- 2. trừu tượng chữ ký phương pháp, thừa kế, và "Thực hiện" quy ước đặt tên
- 3. Quy ước đặt tên cho Traits PHP?
- 4. lớp trừu tượng thuần túy và giao diện
- 5. Giao diện Qt hoặc lớp trừu tượng và qobject_cast()
- 6. Quy ước đặt tên - Làm việc với PHP và MySQL
- 7. Quy ước đặt tên Ruby?
- 8. Quy ước đặt tên F #
- 9. Quy ước đặt tên Django
- 10. Quy ước đặt tên C# cho các phương thức mở rộng cho giao diện
- 11. quy ước đặt tên serialVersionUID
- 12. ExtJS 4 Quy ước đặt tên
- 13. C# Lớp trừu tượng triển khai Giao diện
- 14. lớp trừu tượng không thực hiện giao diện
- 15. Quy ước đặt tên cho các đối tượng trong java
- 16. Phương pháp tĩnh trong giao diện/lớp trừu tượng
- 17. Quy ước đặt tên AJAX
- 18. Mở rộng giao diện cho lớp trừu tượng
- 19. Java lớp trừu tượng thực hiện giao diện
- 20. Tạo giao diện cho mẫu lớp trừu tượng trong C++
- 21. Builder design pattern - Không có lớp trừu tượng/giao diện
- 22. C# Trang trí - Giao diện hoặc Lớp trừu tượng?
- 23. Ràng buộc về thông số loại: giao diện so với lớp trừu tượng
- 24. Giao diện/Mã hóa lớp trừu tượng Tiêu chuẩn
- 25. Cần cho lớp trừu tượng cũng như giao diện?
- 26. Các loại chung so với lớp trừu tượng/Giao diện
- 27. Khai báo tín hiệu trừu tượng trong lớp giao diện
- 28. Quy ước đặt tên: Đặt tên biến boolean là gì?
- 29. Lời khuyên về các quy ước đặt tên sql
- 30. Quy ước đặt tên ID trong ASP.NET?
giá trị chỉ ra rằng nếu bạn muốn phù hợp với PSR theo luật, nó quy định rằng bạn phải bao gồm 'Giao diện' là đủ cho giao diện. http://www.php-fig.org/bylaws/psr-naming-conventions/ – wired00