Upload
klab
View
24
Download
2
Embed Size (px)
Citation preview
Code Quality 29 Settembre
2016
Sponsored by
Sponsor
Definiamo la Code Quality1/15
E’ composto da: Metriche estratte dal codice sorgente Numero di debiti tecnici
E’ un indicatore che ci mostra quanto il nostro software è in linea con gli obbiettivi richiesti
Può essere riferito ai requisiti utente oppure al codice sorgente
Code Quality in azienda..perchè era necessario parlarne 2/15
• Perché abbiamo diversi gruppi dislocati geograficamente• Perché dovevamo standardizzare il modo di scrivere software• Perché ogni gruppo lavora in modo indipendente dagli altri• Perché avevamo un grosso pregresso da manutenere• Perché in alcuni progetti ci siamo trovati ad essere ….
… SEPOLTI IN CASA3/15
Ok partiamo dalle origini…
All’inizio utilizzavamo «l’indice di qualità universale»
4/15
Ok partiamo dalle origini…5/15
https://blog.codinghorror.com/when-understanding-means-rewriting/
Cosa stavamo cercandoIntro
6/15
• Uno strumento per poterci misurare• Multi linguaggio (c#, vb.net, javascript)• Dashboard rappresentativa dei risultati• Integrabile in Visual Studio e nel processo di build• Stimare i debiti tecnici• Free (il più possibile )
Il nostro approccio…primo tentativoIntro
7/15
• Integrate in Visual Studio• Possibilità di integrare in build automatiche• Esportazione manuale dei risultati
Fxcop + metriche di Visual Studio
[DEMO]
8/15
Perché abbiamo fallito9/15
• Limitate al mondo .net• Limitate a Visual Studio• Solo per tecnici• Soluzioni a pagamento (Es: NDepend)• Nessuna dashboard• I debiti tecnici non erano quantificabili
Il nostro approccio…secondo tentativo
SonarQube
10/15
• Integrate in Visual Studio (SonarLint)•Multi linguaggio (js, vbnet, ecc)•Rappresentazione grafica degli indici•Free (parzialmente)
[DEMO SONARQUBE]
11/15
Perché ci è sembrato il software giusto…
• Integrazione con .Net e non solo•Dashboard anche per non tecnici•Valutazione dei debiti tecnici• Integrabile nella build automatiche
12/15
[DEMO SONARLINT]
13/15
..per finire…a cosa ha portato la Code Quality? 14/15
•Avere maggiore controllo sul codice•Segnalazione tempestiva di eventuali debiti tecnici•Poter standardizzare la scrittura del codice•Avere un obbiettivo chiaro e condiviso tra i gruppi•Facilitare la comprensione del codice
Links
• SonarQube - http://www.sonarqube.org/• SonarLint - http://www.sonarlint.org/visualstudio/• SonarQube Plugin - https://github.com/SonarSource/sonarqube•DotNetPodcast - http://dotnetpodcast.com/show/card/104
15/15
GRAZIE PER L’ATTENZIONE!
[DOMANDE?]