Sono più praticato in PHP che in Java, e quando uso Java mi trovo a guardarlo da una prospettiva PHP. Questo può causare problemi, quindi mi piacerebbe sapere quali sono gli errori di programmazione più comuni che i programmatori PHP fanno in Java?
Forse un po 'sfacciata, ma dopo aver continuato ad abbuffare su PHP per molti anni (paga le bollette), sono stato spesso felice di poter usare cose pazzesche come tipi enumerati e tipi di dati nativi che non sono matrici / oggetti che giocano dress-up.
Mentre una generalizzazione radicale (i migliori sono sempre), credo che quello che sto ottenendo è che forse l'errore più comune è rimanere nella mentalità di PHP e non approfittare delle funzionalità offerte dalla lingua.
Direi che il più grande errore che ho visto si sta avvicinando a Java, che è OOP, con una mentalità procedurale. I metodi per una persona PHP sembrano funzioni, e il metodo principale (o costruttore) assomiglia alla parte procedurale di PHP. Così finisci con interi programmi esistenti in 2 classi giganti con migliaia di metodi lunghi.
Come dev di PHP che ha fatto il passaggio a Java, posso dire che è difficile. Ma ovviamente questo è il caso di qualsiasi passaggio da una lingua procedurale a una lingua OOP
Alcune cose che noto:
Mantenere le viste pulite
PHP semplifica la "fuga" logica nelle tue visualizzazioni. Mantenerli puliti è spesso un lavoro ingrato. Con alcuni framework Java è più facile, ma ancora ci sono alcune cose che non dovrebbero essere lì
OOP vs Procedural
Con Java tutto è un oggetto, e questo ti costringe a pensare a come pensi di usare questo oggetto. Spesso questo non viene fatto in PHP e vengono utilizzati cheat. O socio. array, stdClass
blanks o altre cose create senza uno scopo preciso
Coding al volo
Lo sviluppo di Java non incoraggia cambiamenti rapidi spontanei mentre PHP lo fa.
Test dell'unità
Java è facile da testare, PHP meno così. Le viste sporche spesso (sopra menzionate) significano una copertura di prova inferiore quindi ideale. Se l'applicazione utilizza test, viene spesso ignorata dagli sviluppatori PHP che sono nuovi in Java.
Leggi altre domande sui tag java syntax php comparison