Suche senden
Hochladen
The metrics
•
0 gefällt mir
•
482 views
Massimiliano Arione
Folgen
metriche per misurare la qualità del codice (PUG Roma lighting talk novembre 2015)
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 21
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Slide of event of Torino Technologies Group in Torino, with Carmelo La Monica
Ttg 09 07_2015_debug_vs_2015
Ttg 09 07_2015_debug_vs_2015
Piero Sbressa
What can happen if we monitor our performances every day? How we can use the collected data in order to improve our outcome?
Personal kanban
Personal kanban
Gavino Pintus
Come far crescere OpenERP e la localizzazione
Launchpad e code review
Launchpad e code review
Associazione Odoo Italia
SymfonyDay 2016
PHP7 e Rich Domain Model
PHP7 e Rich Domain Model
Massimiliano Arione
Talk tenuto all'incontro di febbraio 2020 del PUG Roma
Typed models pug roma febbraio 2020
Typed models pug roma febbraio 2020
Massimiliano Arione
Presentazione per l'incontro PUG Roma di settembre 2019
Pipelines!
Pipelines!
Massimiliano Arione
PUG Roma maggio 2019
Il nostro amico Stan
Il nostro amico Stan
Massimiliano Arione
Talk dell'incontro di aprile 2018 del PUG Roma. Video disponibile su https://www.youtube.com/watch?v=U0TQ0iehXYU
PSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTP
Massimiliano Arione
Empfohlen
Slide of event of Torino Technologies Group in Torino, with Carmelo La Monica
Ttg 09 07_2015_debug_vs_2015
Ttg 09 07_2015_debug_vs_2015
Piero Sbressa
What can happen if we monitor our performances every day? How we can use the collected data in order to improve our outcome?
Personal kanban
Personal kanban
Gavino Pintus
Come far crescere OpenERP e la localizzazione
Launchpad e code review
Launchpad e code review
Associazione Odoo Italia
SymfonyDay 2016
PHP7 e Rich Domain Model
PHP7 e Rich Domain Model
Massimiliano Arione
Talk tenuto all'incontro di febbraio 2020 del PUG Roma
Typed models pug roma febbraio 2020
Typed models pug roma febbraio 2020
Massimiliano Arione
Presentazione per l'incontro PUG Roma di settembre 2019
Pipelines!
Pipelines!
Massimiliano Arione
PUG Roma maggio 2019
Il nostro amico Stan
Il nostro amico Stan
Massimiliano Arione
Talk dell'incontro di aprile 2018 del PUG Roma. Video disponibile su https://www.youtube.com/watch?v=U0TQ0iehXYU
PSR7 - interoperabilità HTTP
PSR7 - interoperabilità HTTP
Massimiliano Arione
Talk al SymfonyDay 2017 a Milano https://joind.in/talk/view/22637
Disinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere felici
Massimiliano Arione
Make Assets Great Again! La mia presentazione sull'esperienza di uno sviluppatore backend nella gestione degli asset
MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017
Massimiliano Arione
Slide del mio lightning talk tenuto al PUG Roma di giugno 2016
PHP on the desktop
PHP on the desktop
Massimiliano Arione
Una veloce introduzione allo stack elastic (noto in precedenza come stack ELK). Talk tenuto al PUG Roma nell'incontro di aprile 2016
Scrivere e leggere log con elastic
Scrivere e leggere log con elastic
Massimiliano Arione
A brief list of possible solutions for the dependency hell problem with your frontend libs. Lighting talk at SymfonyCon Madrid 2014
Managing frontend libs in your Symfony project
Managing frontend libs in your Symfony project
Massimiliano Arione
My short presentation at Symfony Live 2008 unconference, about translating Symfony docs (notice: this is a repost, since Slideshare deleted original one and has not be able to recover it. Shame on you, Slideshare!)
Translating symfony docs
Translating symfony docs
Massimiliano Arione
phpDay 2014 unconference presentation
Managing frontend libs in your php project
Managing frontend libs in your php project
Massimiliano Arione
la mia presentazione all'incontro di novembre 2013 del PUG Roma, su come gestire le librerie di frontend (tipicamente css e javascript) in un progetto PHP, con alcune considerazioni finali specifiche per Symfony2
Gestire librerie di frontend in php
Gestire librerie di frontend in php
Massimiliano Arione
La mia presentazione sull'evoluzione di PHP al Codemotion 2013 a Roma
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
Massimiliano Arione
2. Il problema della gestione delle dipendenze affligge da tempo qualsiasi sviluppatore che non voglia reinventare la ruota. Questo problema può essere affrontato da due punti di vista: quello dello sviluppatore che ha bisogno di usare una libreria e quello dello sviluppatore che ha creato la propria libreria e vuole distribuirla 3. Una prima possibile soluzione al problema è: scaricare i sorgenti della libreria e installarli a mano. Questa soluzione ovviamente è molto scomoda e ha molti difetti: difficoltà di manutenzione, difficoltà di replicazione, difficoltà o impossibilità di versionamento. È stata mostrata solo per motivi "storici" 4. PEAR è stato per molto tempo lo standard de facto per la gestione delle librerie. Il suo problema principale era nella necessità di dover installare le librerie a livello di sistema, mentre spesso è necessario gestire versioni diverse su progetti diversi. Un altro problema è che è rimasto poco sviluppato e ancorato alla compatibilità con PHP4 5. Un altra possibile soluzione è la gestione delle dipendenze nel sistema di versioanmento: externals per subversion, submoduli per git, eccetera. Difetti di questo approccio: lo sviluppatore di librerie dovrebbe tenere un repository per ogni sistema, l'utilizzatore è costretto a gestire in contemporanea aggiornamenti delle revisioni del suo progetto e aggiornamenti delle librerie 6. Un approccio più recente e interessante è stato quello adottato da Symfony 2.0, cioè uno script di gestione scritto ad hoc. Purtroppo non era in grado di gestire le dipendenze indirette ed era legato strettamente a git 8. Il primo passo per usare Composer è installarlo. La procedura è molto semplice, trattandosi di uno script PHP da linea di comando: basta scaricare l'installer ed eseguirlo. Non obbligatorio, ma consigliato, spostare l'eseguibile sotto a un percorso incluso in $PATH. Pper sistemi non Unix-compatibili... non lo so! Arrangiatevi 9. L'installazione delle librerie è facile: basta eseguire il comando seguito dal parametro "install". Occorre però preparare un file di configurazione 10. Questo esempio di file di configurazione di Composer è tratto da Symfony Standard Edition, con alcune righe tagliate per questioni di spazio. 11. Vediamo ora un esempio su come pubblicare la propria libreria, tratta da un caso reale; un bundle per Symfony2 creato sotto PUGX. Il primo passo è quello di pubblicare il progetto su github 12. Questo è il file composer.json del bundle, con le sue dipendenze e le impostazioni per l'autoloading 13. Il passo successivo consiste nel pubblicare la libreria su Packagist, configurando le impostazioni relative all'integrazione con github 14. Tutto qui! Come direbbe il Principe, è fatta! Non serve niente di più di questo, è molto facile e consente di gestire dipendenze a cascata. 15. Ma se io avessi l'esigenza di usare una libreria che non è open source e quindi non posso mettere su github? Si possono impostare altri reposi
Gestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
Massimiliano Arione
Migrare da symfony 1 a Symfony2
Migrare da symfony 1 a Symfony2
Massimiliano Arione
il case study presentato da me e Filippo Salza all'incontro del PUG Roma di aprile 2012, relativo al rifacimento di OmniAuto.it da PHP puro a Symfony2
Case study OmniAuto.it
Case study OmniAuto.it
Massimiliano Arione
la mia presentazione su Symfony2 al
Symfony: un framework per il web
Symfony: un framework per il web
Massimiliano Arione
Paypal + symfony integration. it'
Paypal + symfony
Paypal + symfony
Massimiliano Arione
la mia presentazione all'evento PHP.TO.START 2011
Sviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHP
Massimiliano Arione
symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
Massimiliano Arione
symfony & jQuery (PUG)
symfony & jQuery (PUG)
Massimiliano Arione
la mia presentazione per l'incontro di marzo 2011 del PUG Roma http://roma.grusp.org
Lessons learned in PHP
Lessons learned in PHP
Massimiliano Arione
my ignite on symfony
Symfony ignite
Symfony ignite
Massimiliano Arione
Phpcon2009 Php e Sicurezza
Phpcon2009 Php e Sicurezza
Massimiliano Arione
Weitere ähnliche Inhalte
Mehr von Massimiliano Arione
Talk al SymfonyDay 2017 a Milano https://joind.in/talk/view/22637
Disinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere felici
Massimiliano Arione
Make Assets Great Again! La mia presentazione sull'esperienza di uno sviluppatore backend nella gestione degli asset
MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017
Massimiliano Arione
Slide del mio lightning talk tenuto al PUG Roma di giugno 2016
PHP on the desktop
PHP on the desktop
Massimiliano Arione
Una veloce introduzione allo stack elastic (noto in precedenza come stack ELK). Talk tenuto al PUG Roma nell'incontro di aprile 2016
Scrivere e leggere log con elastic
Scrivere e leggere log con elastic
Massimiliano Arione
A brief list of possible solutions for the dependency hell problem with your frontend libs. Lighting talk at SymfonyCon Madrid 2014
Managing frontend libs in your Symfony project
Managing frontend libs in your Symfony project
Massimiliano Arione
My short presentation at Symfony Live 2008 unconference, about translating Symfony docs (notice: this is a repost, since Slideshare deleted original one and has not be able to recover it. Shame on you, Slideshare!)
Translating symfony docs
Translating symfony docs
Massimiliano Arione
phpDay 2014 unconference presentation
Managing frontend libs in your php project
Managing frontend libs in your php project
Massimiliano Arione
la mia presentazione all'incontro di novembre 2013 del PUG Roma, su come gestire le librerie di frontend (tipicamente css e javascript) in un progetto PHP, con alcune considerazioni finali specifiche per Symfony2
Gestire librerie di frontend in php
Gestire librerie di frontend in php
Massimiliano Arione
La mia presentazione sull'evoluzione di PHP al Codemotion 2013 a Roma
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
Massimiliano Arione
2. Il problema della gestione delle dipendenze affligge da tempo qualsiasi sviluppatore che non voglia reinventare la ruota. Questo problema può essere affrontato da due punti di vista: quello dello sviluppatore che ha bisogno di usare una libreria e quello dello sviluppatore che ha creato la propria libreria e vuole distribuirla 3. Una prima possibile soluzione al problema è: scaricare i sorgenti della libreria e installarli a mano. Questa soluzione ovviamente è molto scomoda e ha molti difetti: difficoltà di manutenzione, difficoltà di replicazione, difficoltà o impossibilità di versionamento. È stata mostrata solo per motivi "storici" 4. PEAR è stato per molto tempo lo standard de facto per la gestione delle librerie. Il suo problema principale era nella necessità di dover installare le librerie a livello di sistema, mentre spesso è necessario gestire versioni diverse su progetti diversi. Un altro problema è che è rimasto poco sviluppato e ancorato alla compatibilità con PHP4 5. Un altra possibile soluzione è la gestione delle dipendenze nel sistema di versioanmento: externals per subversion, submoduli per git, eccetera. Difetti di questo approccio: lo sviluppatore di librerie dovrebbe tenere un repository per ogni sistema, l'utilizzatore è costretto a gestire in contemporanea aggiornamenti delle revisioni del suo progetto e aggiornamenti delle librerie 6. Un approccio più recente e interessante è stato quello adottato da Symfony 2.0, cioè uno script di gestione scritto ad hoc. Purtroppo non era in grado di gestire le dipendenze indirette ed era legato strettamente a git 8. Il primo passo per usare Composer è installarlo. La procedura è molto semplice, trattandosi di uno script PHP da linea di comando: basta scaricare l'installer ed eseguirlo. Non obbligatorio, ma consigliato, spostare l'eseguibile sotto a un percorso incluso in $PATH. Pper sistemi non Unix-compatibili... non lo so! Arrangiatevi 9. L'installazione delle librerie è facile: basta eseguire il comando seguito dal parametro "install". Occorre però preparare un file di configurazione 10. Questo esempio di file di configurazione di Composer è tratto da Symfony Standard Edition, con alcune righe tagliate per questioni di spazio. 11. Vediamo ora un esempio su come pubblicare la propria libreria, tratta da un caso reale; un bundle per Symfony2 creato sotto PUGX. Il primo passo è quello di pubblicare il progetto su github 12. Questo è il file composer.json del bundle, con le sue dipendenze e le impostazioni per l'autoloading 13. Il passo successivo consiste nel pubblicare la libreria su Packagist, configurando le impostazioni relative all'integrazione con github 14. Tutto qui! Come direbbe il Principe, è fatta! Non serve niente di più di questo, è molto facile e consente di gestire dipendenze a cascata. 15. Ma se io avessi l'esigenza di usare una libreria che non è open source e quindi non posso mettere su github? Si possono impostare altri reposi
Gestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
Massimiliano Arione
Migrare da symfony 1 a Symfony2
Migrare da symfony 1 a Symfony2
Massimiliano Arione
il case study presentato da me e Filippo Salza all'incontro del PUG Roma di aprile 2012, relativo al rifacimento di OmniAuto.it da PHP puro a Symfony2
Case study OmniAuto.it
Case study OmniAuto.it
Massimiliano Arione
la mia presentazione su Symfony2 al
Symfony: un framework per il web
Symfony: un framework per il web
Massimiliano Arione
Paypal + symfony integration. it'
Paypal + symfony
Paypal + symfony
Massimiliano Arione
la mia presentazione all'evento PHP.TO.START 2011
Sviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHP
Massimiliano Arione
symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
Massimiliano Arione
symfony & jQuery (PUG)
symfony & jQuery (PUG)
Massimiliano Arione
la mia presentazione per l'incontro di marzo 2011 del PUG Roma http://roma.grusp.org
Lessons learned in PHP
Lessons learned in PHP
Massimiliano Arione
my ignite on symfony
Symfony ignite
Symfony ignite
Massimiliano Arione
Phpcon2009 Php e Sicurezza
Phpcon2009 Php e Sicurezza
Massimiliano Arione
Mehr von Massimiliano Arione
(20)
Disinstallare fos user bundle e vivere felici
Disinstallare fos user bundle e vivere felici
MAGA - PUG Roma giugno 2017
MAGA - PUG Roma giugno 2017
PHP on the desktop
PHP on the desktop
Scrivere e leggere log con elastic
Scrivere e leggere log con elastic
Managing frontend libs in your Symfony project
Managing frontend libs in your Symfony project
Translating symfony docs
Translating symfony docs
Managing frontend libs in your php project
Managing frontend libs in your php project
Gestire librerie di frontend in php
Gestire librerie di frontend in php
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
Gestione delle dipendenze con Composer
Gestione delle dipendenze con Composer
Migrare da symfony 1 a Symfony2
Migrare da symfony 1 a Symfony2
Case study OmniAuto.it
Case study OmniAuto.it
Symfony: un framework per il web
Symfony: un framework per il web
Paypal + symfony
Paypal + symfony
Sviluppo rapido di applicazioni con PHP
Sviluppo rapido di applicazioni con PHP
symfony & jQuery (phpDay)
symfony & jQuery (phpDay)
symfony & jQuery (PUG)
symfony & jQuery (PUG)
Lessons learned in PHP
Lessons learned in PHP
Symfony ignite
Symfony ignite
Phpcon2009 Php e Sicurezza
Phpcon2009 Php e Sicurezza
The metrics
1.
The metrics metriche per
misurare la qualità del codice Roma, 24 novembre 2015
2.
Agenda ● CHI ● COSA ●
QUANDO ● DOVE ● PERCHÉ
3.
Agenda ● CHI ● COSA ●
QUANDO ORA ● DOVE QUI ● PERCHÉ
4.
Chi garak garakkio
5.
Perché EFFICACIA a.k.a “basta che
funzioni”
6.
Perché EFFICIENZA
7.
Cosa ● PHPUnit
8.
9.
10.
Cosa ● PHPUnit ● PHPMD
11.
12.
Cosa ● PHPUnit ● PHPMD ●
PHPCheckStyle
13.
Cosa ● PHPUnit ● PHPMD ●
PHPCheckStyle ● PHPCPD
14.
15.
Cosa ● PHPUnit ● PHPMD ●
PHPCheckStyle ● PHPCPD ● PHP Depend
16.
17.
18.
Cosa ● PHPUnit ● PHPMD ●
PHPCheckStyle ● PHPCPD ● PHP Depend ● PHP-CS-Fixer
19.
Cosa ● PHPUnit ● PHPMD ●
PHPCheckStyle ● PHPCPD ● PHP Depend ● PHP-CS-Fixer ● PHPMetrics
20.
Cosa (bonus) ● https://scrutinizer-ci.com/ ●
https://codeclimate.com/ ● https://blackfire.io/
21.
Domande? ?
Jetzt herunterladen