Sono nella fase di pre-release di un progetto PHP open-source, che spero venga usato da altri sviluppatori nei loro progetti. Attualmente il progetto non supporta gli spazi dei nomi e sto cercando di valutare se utilizzare gli spazi dei nomi o la convenzione di denominazione PEAR di Dir_Subdir_Class, che sembra avere tutti gli stessi vantaggi tecnici senza alcuni degli svantaggi. Per essere onesti, non è una scelta facile.
Alcuni punti di considerazione rispetto agli spazi dei nomi:
- Uno dei modi in cui il mio progetto sta cercando di differenziarsi fornendo un'API più semplice rispetto ad altri progetti simili. Poiché gli spazi dei nomi sono nuovi e anche perché sono più complicati della convenzione di denominazione PEAR, l'introduzione nella base di codice renderà il mio progetto meno semplice da utilizzare. Implementandoli, perdo una certa differenziazione in termini di facilità d'uso.
- Anche se vedo alcuni vantaggi per gli spazi dei nomi, non sembrano risolvere un problema che deve essere risolto in un moderno prodotto PHP che utilizza la convenzione di denominazione PEAR. I conflitti di denominazione durante l'utilizzo del mio progetto dovrebbero essere minimi se non inesistenti.
- Questo articolo mi dà una pausa nell'adottare spazi dei nomi in quanto la loro implementazione è stata meno che stellare.
- Sono anche riluttante a saltare su un carro che potrebbe non andare da nessuna parte. Poiché gli spazi dei nomi sono una nuova funzionalità di PHP, non sono ancora convinto che diventeranno standard.
- Compatibilità. Quasi tutto il codice PHP che sia mai stato scritto non utilizza gli spazi dei nomi in quanto è una nuova funzionalità. Altre librerie sarebbero incompatibili senza conversione.
Alcuni punti per l'utilizzo degli spazi dei nomi:
- Perception. Se gli spazi dei nomi diventassero standard e una best practice, il mio progetto potrebbe essere rapidamente visto come poco professionale e obsoleto senza di essi.
- Concorso. Mentre alcuni progetti PHP in competizione stanno iniziando a utilizzare gli spazi dei nomi nelle loro ultime versioni, molti devono ancora fare il salto. Fare così ora potrebbe dare al mio progetto un vantaggio su altri progetti.
- Il lavoro futuro sarebbe più facile se avessi fatto il passaggio ora prima che il progetto diventasse pubblico piuttosto che dopo, dove dovrei sostenere due versioni di esso per un po '.
- Voglio supportare le best practice e se i namespace diventano una best practice per PHP, il mio progetto dovrebbe farne uso.
Da quello che posso dire, devi scegliere in un modo o nell'altro; non puoi fare entrambe le cose. Ci sono dei punti che non ho considerato? Ci sono segni oggettivi (no flamewars, per favore) che puntano verso o contro lo spazio dei nomi diventando lo standard professionale per PHP? Gradirei qualsiasi intuizione o risorsa che saresti disposto a condividere in quanto ho bisogno di prendere presto una decisione.