Tôi đang ở giai đoạn tiền phát hành của một dự án PHP nguồn mở, một dự án mà tôi hy vọng sẽ được các nhà phát triển khác sử dụng trong các dự án của riêng họ. Dự án hiện không hỗ trợ các không gian tên và tôi đang cố gắng đánh giá xem có nên sử dụng không gian tên hoặc quy ước đặt tên PEAR của Dir_Subdir_Class, dường như có tất cả các lợi ích kỹ thuật giống nhau mà không có một số nhược điểm. Thành thật mà nói, đó không phải là một lựa chọn dễ dàng.
Một số điểm xem xét đối với không gian tên:
- Một trong những cách mà dự án của tôi đang cố gắng tạo sự khác biệt bằng cách cung cấp API đơn giản hơn các dự án tương tự khác. Bởi vì các không gian tên là mới và cũng vì chúng phức tạp hơn quy ước đặt tên PEAR, nên việc đưa chúng vào cơ sở mã sẽ làm cho dự án của tôi sử dụng ít đơn giản hơn. Bằng cách thực hiện chúng, tôi mất một số khác biệt về tính dễ sử dụng.
- Mặc dù tôi có thể thấy một số lợi ích đối với không gian tên, nhưng dường như chúng không giải quyết được vấn đề cần giải quyết trong một sản phẩm PHP hiện đại sử dụng quy ước đặt tên PEAR. Đặt tên xung đột trong khi sử dụng dự án của tôi nên là tối thiểu nếu không phải là không tồn tại.
- Bài viết này cung cấp cho tôi một số tạm dừng trong việc áp dụng các không gian tên vì việc triển khai của chúng ít hơn sao.
- Tôi cũng ngần ngại nhảy lên một nhóm nhạc có thể không đi đâu cả. Vì không gian tên là một tính năng mới của PHP, tôi chưa tin rằng chúng sẽ trở thành tiêu chuẩn.
- Khả năng tương thích. Hầu như tất cả các mã PHP đã được viết không sử dụng không gian tên vì đây là một tính năng mới. Các thư viện khác sẽ không tương thích nếu không có chuyển đổi.
Một số điểm để sử dụng không gian tên:
- Nhận thức. Nếu không gian tên trở thành tiêu chuẩn và thông lệ tốt nhất, dự án của tôi có thể nhanh chóng bị xem là không chuyên nghiệp và lỗi thời nếu không có chúng.
- Cuộc thi. Trong khi một số dự án PHP cạnh tranh đang bắt đầu sử dụng các không gian tên trong các phiên bản mới nhất của chúng, nhiều dự án vẫn chưa có bước nhảy vọt. Làm như vậy bây giờ có thể giúp dự án của tôi dự phòng cho các dự án khác.
- Công việc trong tương lai sẽ dễ dàng hơn nếu tôi thực hiện chuyển đổi ngay bây giờ trước khi dự án được công khai thay vì sau đó, nơi tôi sẽ phải hỗ trợ hai phiên bản của nó trong một thời gian.
- Tôi muốn hỗ trợ các thực tiễn tốt nhất và nếu không gian tên trở thành một thực tiễn tốt nhất cho PHP, dự án của tôi nên sử dụng chúng.
Từ những gì tôi có thể nói, bạn phải chọn cách này hay cách khác; bạn không thể làm cả hai. Có điểm nào mà tôi chưa xem xét? Có bất kỳ dấu hiệu khách quan nào (không có flamewar, xin vui lòng) hướng tới hoặc chống lại không gian tên trở thành tiêu chuẩn chuyên nghiệp cho PHP? Tôi sẽ đánh giá cao bất kỳ cái nhìn sâu sắc hoặc tài nguyên nào mà bạn sẽ sẵn sàng chia sẻ vì tôi cần sớm đưa ra quyết định.