Estoy en la etapa de prelanzamiento de un proyecto PHP de código abierto, que espero sea utilizado por otros desarrolladores en sus propios proyectos. Actualmente, el proyecto no admite espacios de nombres y estoy tratando de evaluar si debería usar espacios de nombres o la convención de nomenclatura PEAR de Dir_Subdir_Class, que parece tener los mismos beneficios técnicos sin algunos de los inconvenientes. Para ser sincero, no es una elección fácil.
Algunos puntos de consideración contra espacios de nombres:
- Una de las formas en que mi proyecto está tratando de diferenciarse al proporcionar una API más simple que otros proyectos similares. Debido a que los espacios de nombres son nuevos y también porque son más complicados que la convención de nomenclatura PEAR, introducirlos en la base de código hará que mi proyecto sea menos fácil de usar. Al implementarlos, pierdo cierta diferenciación en términos de facilidad de uso.
- Si bien puedo ver algunos beneficios para los espacios de nombres, no parecen resolver un problema que deba resolverse en un producto PHP moderno que utiliza la convención de nomenclatura PEAR. Los conflictos de nombres al usar mi proyecto deben ser mínimos, si no inexistentes.
- Este artículo me da una pausa para adoptar espacios de nombres ya que su implementación ha sido menos que estelar.
- También dudo en subirme a un carro que quizás no llegue a ningún lado. Como los espacios de nombres son una característica nueva de PHP, todavía no estoy convencido de que se conviertan en estándar.
- Compatibilidad. Casi todo el código PHP que se ha escrito nunca usa espacios de nombres, ya que es una característica nueva. Otras bibliotecas serían incompatibles sin una conversión.
Algunos puntos para usar espacios de nombres:
- Percepción. Si los espacios de nombres se vuelven estándar y una práctica recomendada, mi proyecto podría verse rápidamente como poco profesional y obsoleto sin ellos.
- Competencia. Si bien algunos proyectos PHP competidores están comenzando a usar espacios de nombres en sus últimas versiones, muchos aún no han dado el salto. Hacerlo ahora podría darle a mi proyecto una ventaja sobre otros proyectos.
- El trabajo futuro sería más fácil si hiciera el cambio ahora antes de que el proyecto se haga público en lugar de después, donde tendría que soportar dos versiones del mismo por un tiempo.
- Quiero admitir las mejores prácticas y si los espacios de nombres se convierten en una mejor práctica para PHP, mi proyecto debería hacer uso de ellos.
Por lo que puedo decir, debes elegir una forma u otra; No puedes hacer las dos cosas. ¿Hay algún punto que no haya considerado? ¿Hay algún signo objetivo (sin llamas, por favor) que apunte hacia o en contra de que los espacios de nombres se conviertan en el estándar profesional para PHP? Agradecería cualquier idea o recurso que estaría dispuesto a compartir, ya que necesito tomar una decisión pronto.