Il mio collega e io recentemente siamo entrati in un dibattito su un piano proposto sul nostro posto di lavoro. Abbiamo più o meno completato la transizione della nostra base di codici Java in una gestita e realizzata con Maven. Ora, vorrei che ci integrassimo con Hudson e Sonar o qualcosa di simile. Le mie ragioni per questo sono che fornirà un passo di build 'zero-click' per fornire ai tester nuove build sperimentali, che ci permetterà di distribuire applicazioni su un server più facilmente, che strumenti come Sonar ci forniranno metriche necessarie sulla copertura del codice, Javadoc, le dipendenze dei pacchetti e simili.
Pensa che il sovraccarico di arrivare alla velocità con due nuovi framework è inaccettabile e che dovremmo semplicemente raddoppiare la documentazione e creare i nostri script per l'implementazione. Dal momento che pianifichiamo alcune riscritture aggressive per ripagare il debito tecnico degli sviluppatori precedenti (uso gratuito dell'interfaccia Serializable di Java come meccanismo di archiviazione dei file che ci ha prevedibilmente azzannati), sostiene che possiamo documentare mentre andiamo, e che noi finirò comunque per cambiare una grande quantità di codice nel processo.
Io sostengo che avere metriche accurate che Sonar (o riempire il tuo strumento simile preferito) ci fornisce un buon punto di partenza per qualsiasi sforzo di refactoring, per non parlare della manutenzione generale - dopo tutto, sapendo quali sono le classi più scarse documentato, anche se è solo un punto di partenza, è meglio che indovinare da solo.
Mi sbaglio e sto cercando di introdurre più spese generali di quelle di cui abbiamo veramente bisogno? Qualche altro background: un alumni della nostra azienda ora sta lavorando in un laboratorio di ricerca della Marina e ha suggerito questi due strumenti in particolare come uno che hanno avuto un grande successo nell'uso. Il mio collega ed io abbiamo anche avuto la nostra parte di disaccordi amichevoli prima - lui è più del "CLI per tutti, compila Gentoo nel suo tempo libero e usa Git" e io sono più di un "Datemi un'interfaccia grafica intuitiva, gioca con XNA e va bene con il tipo "SVN", quindi qui c'è sicuramente un elemento alcuni di scontro culturale.