Pratiche di sviluppo

Lavorare secondo la definizione di Fine

Ogni squadra ha una definizione diversa di ciò che "fatto" significa, ma è importante avere una storia e assicurarsi che soddisfi i criteri definiti prima di essere accettato.

Alcuni criteri comunemente specificati dai team includono:

  • Codice rivisto per la formattazione
  • Commenti/Javadoc aggiunto
  • Soddisfa i livelli di copertura dei test richiesti
  • Supera i test di unità e integrazione
  • Convalida nell'ambiente QA
  • Localizzazione implementata

Senza un DoD ben definito, è facile finire in una situazione in cui molte cose sono a metà strada e niente è veramente completo.

Definire e aderire alle convenzioni di codifica e formattazione

Cose come i livelli di rientro e lo spazio vuoto possono non sembrare importanti, ma avere un codice formattato correttamente va molto lontano verso la leggibilità e la manutenzione. Le convenzioni dovrebbero essere discusse e concordate come squadra e seguite nel codice.

Obiettivo per una copertura di prova elevata

Con l'aumento delle dimensioni dell'implementazione di un progetto, il tempo necessario per eseguire il test sarà pari a quello necessario. Senza una buona copertura di test, il team di test non sarà in grado di scalare e gli sviluppatori finiranno per essere sepolti in bug.

Gli sviluppatori devono praticare il TDD, scrivendo test di unità non riusciti prima del codice di produzione che soddisferà i loro requisiti. Il QA dovrebbe creare un insieme automatizzato di test di accettazione per garantire che il sistema funzioni come previsto da un livello elevato.

Sono disponibili dei framework personalizzati, come Jackalope e Prosper, per semplificare il gioco delle API JCR in modo da garantire la produttività degli sviluppatori durante la scrittura di unit test.

Pronto per la demo

Il sistema dovrebbe essere disponibile per la dimostrazione al business alla fine di ogni iterazione. Mantenendo il sistema in uno stato demo-ready, il team sarà sempre all'interno di un'iterazione di essere pronto alla produzione e il debito tecnico può essere mantenuto a un livello sostenibile.

Implementare un ambiente di integrazione continua e utilizzarlo

L'implementazione di un ambiente di integrazione continua consente di eseguire facilmente e ripetutamente test di unità e test di integrazione. Inoltre, disaccoppierà le installazioni del team di sviluppo, consentendo alle altre parti del team di essere più efficienti e garantendo installazioni più stabili e prevedibili.

Mantenere il ciclo di sviluppo veloce mantenendo bassi i tempi di creazione

Se l'esecuzione dei test di unità richiede molto tempo, gli sviluppatori non li eseguiranno e perderanno il loro valore. Se ci vuole molto tempo per creare il codice e distribuirlo, le persone lo faranno meno spesso. Rendere prioritari i tempi di realizzazione brevi assicura che il tempo dedicato alla copertura dei test e all'infrastruttura CI continui a rendere il team più produttivo.

Ottimizzate Sonar e altri strumenti di analisi del codice statici e agite sui loro report

Gli strumenti di analisi del codice possono essere utili, ma solo se i loro rapporti portano all’azione del team di sviluppo. Senza l'ottimizzazione dell'analisi fornita da questi strumenti, le raccomandazioni generate non saranno rilevanti e perderanno il loro valore.

Seguire la regola di Scout ragazzo

I Scout Ragazzo hanno una regola: "Lascialo meglio di quanto lo trovi." Finché tutti i membri del team di sviluppo aderiranno a questa regola e ripuliranno qualcosa quando incontreranno un casino, il codice migliorerà costantemente.

Evitare di implementare le funzionalità YAGNI

Le funzioni YAGNI (o non ne avrete bisogno) sono implementate quando ci aspettiamo che avremo bisogno di qualcosa in futuro, anche se ora non ne abbiamo bisogno. Idealmente, dovremmo implementare la cosa più semplice che funzionerà oggi e utilizzare il refactoring continuo per assicurare che l'architettura del sistema evolva con i requisiti nel tempo. Questo ci permetterà di concentrarci su ciò che conta ed evitare il codice gonfiabile e la confusione delle caratteristiche.

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free