Saya berada pada tahap pra-rilis proyek PHP open-source, yang saya harap akan digunakan oleh pengembang lain dalam proyek mereka sendiri. Proyek saat ini tidak mendukung ruang nama dan saya mencoba untuk mengevaluasi apakah itu harus menggunakan ruang nama atau konvensi penamaan PEAR dari Dir_Subdir_Class, yang tampaknya memiliki semua manfaat teknis yang sama tanpa beberapa kekurangan. Sejujurnya, itu bukan pilihan yang mudah.
Beberapa poin pertimbangan terhadap ruang nama:
- Salah satu cara proyek saya mencoba untuk membedakan dirinya dengan menyediakan API yang lebih sederhana daripada proyek serupa lainnya. Karena ruang nama baru dan juga lebih rumit daripada konvensi penamaan PEAR, memasukkannya ke dalam basis kode akan membuat proyek saya kurang mudah digunakan. Dengan menerapkannya, saya kehilangan beberapa perbedaan dalam hal kemudahan penggunaan.
- Meskipun saya dapat melihat beberapa manfaat untuk namespaces, mereka tampaknya tidak menyelesaikan masalah yang perlu diselesaikan dalam produk PHP modern yang menggunakan konvensi penamaan PEAR. Memberi nama konflik saat menggunakan proyek saya harus minimal jika tidak ada.
- Artikel ini memberi saya beberapa jeda dalam mengadopsi ruang nama karena implementasinya kurang dari bintang.
- Saya juga ragu untuk ikut-ikutan mungkin tidak pergi ke mana pun. Karena ruang nama adalah fitur baru untuk PHP, saya belum yakin bahwa mereka akan menjadi standar.
- Kesesuaian. Hampir semua kode PHP yang pernah ditulis tidak menggunakan ruang nama karena merupakan fitur baru. Perpustakaan lain tidak akan kompatibel tanpa konversi.
Beberapa poin untuk menggunakan ruang nama:
- Persepsi. Jika ruang nama menjadi standar dan praktik terbaik, proyek saya dapat dengan cepat dianggap tidak profesional dan usang tanpa itu.
- Kompetisi. Sementara beberapa proyek PHP yang bersaing mulai menggunakan ruang nama dalam versi terbaru mereka, banyak yang belum melakukan lompatan. Melakukan hal itu sekarang dapat memberi proyek saya leg-up pada proyek lain.
- Pekerjaan di masa depan akan lebih mudah jika saya beralih sekarang sebelum proyek menjadi publik daripada setelahnya, di mana saya harus mendukung dua versi untuk sementara waktu.
- Saya ingin mendukung praktik terbaik dan jika namespace menjadi praktik terbaik untuk PHP, proyek saya harus memanfaatkannya.
Dari apa yang bisa saya katakan, Anda harus memilih satu cara atau yang lain; kamu tidak bisa melakukan keduanya. Apakah ada poin yang belum saya pertimbangkan? Apakah ada tanda-tanda obyektif (tidak ada flamewars, tolong) yang mengarah ke atau terhadap ruang nama menjadi standar profesional untuk PHP? Saya akan menghargai wawasan atau sumber daya apa pun yang ingin Anda bagikan karena saya perlu mengambil keputusan segera.