Come posso evitare gli errori di progettazione di PDT?

1

Come sviluppatore con sufficiente esperienza per valutare uno strumento, posso dire che PDT è di dimensioni molto grandi e lento nel prestazioni per un IDE PHP.

Diventa più grande con il rilascio e esponenzialmente più lento dalla dimensione dei progetti. Aggiungi alcune regole di colorazione della sintassi aggiuntive e letteralmente esegue la scansione, il completamento del codice funziona in modo casuale e la creazione di un'area di lavoro avviene come per sempre. La magia nera di Java (-Xmx ecc.) Allevia un po 'il dolore, ma questo è tutto.

Quindi le mie domande sono:

  1. Perché la PDT è così? Quali fattori progettuali o ingegneristici hanno portato alle sue scarse prestazioni?
  2. Come posso evitare di commettere questi stessi errori nei miei prodotti?
posta اشکان نظری 02.08.2011 - 23:12
fonte

2 risposte

4

Non posso parlare specificamente a PDT, ma in generale Java in sé non è stato la causa dei problemi di prestazioni da molto tempo. Alcune cose che potrebbero causare problemi di prestazioni in generale sono:

  • Gli sviluppatori principali testano su macchine molto robuste, o con dati di test molto piccoli rispetto all'utente medio.
  • Un sacco di memoria inutile in uso, che porta a scambiare il tasso di abbandono.
  • Uso inefficiente (o inesistente) o prioritizzazione del threading per eseguire attività in background.
  • Scarsa complessità asintotica degli algoritmi, che potrebbe non essere evidente su macchine robuste o piccoli dati di test (vedere il primo punto).
  • Uso scarso della memorizzazione nella cache / memoizzazione. I valori necessari vengono costantemente ricalcolati invece di essere salvati, o al contrario troppo viene salvato che potrebbe essere scartato.
  • Sezioni critiche per le prestazioni che creano una tonnellata di oggetti temporanei.
  • I bug come le perdite di memoria, le condizioni di gara o altre interazioni difficili da rilevare con i tipi di sviluppatori di test di unità tipicamente lo fanno, ma sono molto più facili da attivare sul campo.

Ad esempio, alcuni software che ho usato molto tempo fa spingere il intero file di salvataggio due volte ogni volta che era necessario per annullare un'operazione. Questo non era un problema a meno che tu non disponessi di RAM limitata, mantenessi il programma aperto per molto tempo e / o avessi file di dati molto grandi. In breve, tutte le condizioni che un cliente potrebbe colpire è molto meno probabile per uno sviluppatore. Potrebbe valere la pena di eseguire le tue indagini.

    
risposta data 03.08.2011 - 00:04
fonte
1

In realtà non ci sono problemi con Eclipse PDT. Il motivo per cui alcuni utenti lo hanno molto lento è che questi utenti non hanno fatto l'importante configurazione del progetto.

Ogni progetto ha validatori. Molti di questi possono essere disabilitati in sicurezza, altri sono rilevanti solo per una piccola parte del progetto e irrilevanti per il resto. Ad esempio, il framework dell'applicazione non deve essere scansionato per la validità della sintassi HTML, la validità della sintassi XML, gli errori PHP e simili. Solo il progetto attuale dovrebbe essere scansionato.

Questo deve essere configurato per progetto. La ricostruzione dello spazio di lavoro richiede fino a 5 secondi (se si tratta di un progetto di grandi dimensioni).

Ecco l'ottimizzazione delle prestazioni suggerita:

  1. Progetto click destro
  2. Seleziona proprietà
  3. Seleziona convalida
  4. Seleziona Abilita impostazioni specifiche del progetto
  5. In qualsiasi riga di Convalida, fai clic sul pulsante "..."
  6. Seleziona Escludi gruppo
  7. Fai clic su Aggiungi regola
  8. Seleziona "Cartella o nome file"
  9. Fai clic su Avanti
  10. Seleziona file o cartelle che non necessitano di alcuna convalida (ovvero file di terze parti nel tuo progetto).
  11. Fai clic su Fine
  12. Fai clic su OK
  13. Fai clic su OK

Ripeti quanto sopra per tutti i validatori attuali o semplicemente disabilita completamente i validatori indesiderati.

Inoltre, segui l'ottimizzazione delle prestazioni di Zend Studio. Vale anche per PDT: link

Parti prese in prestito dal link

Dal momento che ritengo che non vi siano errori in eclissi (e PDT), la domanda n. 2 non è applicabile qui. Nota che PDT non è un IDE PHP. È un plugin per Eclipse che aggiunge il supporto PHP. Eclipse è una piattaforma di sviluppo. È robusto, configurabile, scalabile.

In fondo: gli utenti dovrebbero essere in grado di configurare i loro progetti per utilizzare solo ciò di cui hanno bisogno.

    
risposta data 18.12.2012 - 22:27
fonte

Leggi altre domande sui tag