Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Continuous Integration e High Quality Code 
Daniele Mondello
2 Chi Sono About me 
Nasco nel 1971 a Palermo e dopo un’ infanzia fatta di cartoni 
animati, Super Santos, libri e Coin-Up...
3 1986 
Diego!
4 Prodotto Industriale 
An. Normative An. Rischi Ric. Mercato 
Sc. Prodotto 
Req. Sistema 
Cond. Utilizzo 
Man. Utente 
Pr...
Cosa è la Continuous 5 Integration? 
”E’ una pratica di sviluppo software dove i membri di un team integrano il loro lavor...
Cosa è 6 un Control Version System? 
E' un tool che permette il controllo di versione (versioning), cioè la 
gestione di v...
7 CVS: GIT 
02 
Dividere lo sviluppo del 
progetto in più linee 
indipendenti , chiamati 
"rami ", che possono 
evolvere s...
8 Funzionamento GIT 
Version 1 Version 2 Version 3 Version 4 Version 5 
File A 
File B 
File C 
File A 
File C 
File A1 
F...
9 FLUSSO DI LAVORO 
Build Privata Server CI 
Lancio di una build privata 
Lo sviluppatore effettua una Build 
Privata sull...
10 MOTORE CI e BUILD 
Il sistema di CI viene utilizzato per: 
- collezionare il codice dai repository remoti 
- lanciare i...
11 JENKINS: I PROGETTI
12 JENKINS: LA BUILD 1/2
13 JENKINS: LA BUILD 2/2
14 Metriche del software 
Le metriche software sono degli standard per misurare alcune proprietà del 
software. 
Le metric...
15 Tools: PHPLOC 
Permette di misurare le dimensioni di un progetto PHP, ottenendo informazioni utili riguardanti il numer...
16 Tools: PHP DEPEND 
Software che esegue l'analisi statica del codice sorgente. 
PHPLOC 
PHP Lines of Code 
PHP DEPEND 
P...
17 Tools: PHP DEPEND 
PHPLOC 
PHP Lines of Code 
PHP DEPEND 
PHPMD 
PHP Mass Detector 
PHPCS 
PHP Code Sniffer 
PHPCPD 
Co...
18 Tools: PHP DEPEND 
Software che esegue l'analisi statica del codice sorgente. 
PHPLOC 
PHP Lines of Code 
PHP DEPEND 
P...
19 Tools: PHP Mess Detector 
Analizza il codice sorgente di un progetto PHP e cerca di estrarne i potenziali problemi, app...
20 Tools: PHP Mess Detector 
PHPLOC 
PHP Lines of Code 
PHP DEPEND 
PHPMD 
PHP Mass Detector 
PHPCS 
PHP Code Sniffer 
PHP...
21 Tools: PHP Code Sniffer 
Tool per l’analisi del codice che rileva violazioni delle convenzioni di scrittura (coding sta...
22 Tools: PHP Code Sniffer 
PHP Framework Interoperability Group 
Agavi 
AWS SDK for PHP (Amazon Web Services) 
Apache log...
23 Tools: PHP Code Sniffer 
Tool per l’analisi del codice che rileva violazioni delle convenzioni di scrittura (coding sta...
24 Tools: PHPCPD 
Strumento che rivela la presenza di codice duplicato all’interno del codice sorgente 
PHPLOC 
PHP Lines ...
Daniele Mondello 
Continuous Integration e High Quality Code 
GRAZIE! 
info@danielemondello.it 
@dmondello 
Daniele.Mondel...
Próximo SlideShare
Cargando en…5
×

de

Continuous Integration e High Quality Code Slide 1 Continuous Integration e High Quality Code Slide 2 Continuous Integration e High Quality Code Slide 3 Continuous Integration e High Quality Code Slide 4 Continuous Integration e High Quality Code Slide 5 Continuous Integration e High Quality Code Slide 6 Continuous Integration e High Quality Code Slide 7 Continuous Integration e High Quality Code Slide 8 Continuous Integration e High Quality Code Slide 9 Continuous Integration e High Quality Code Slide 10 Continuous Integration e High Quality Code Slide 11 Continuous Integration e High Quality Code Slide 12 Continuous Integration e High Quality Code Slide 13 Continuous Integration e High Quality Code Slide 14 Continuous Integration e High Quality Code Slide 15 Continuous Integration e High Quality Code Slide 16 Continuous Integration e High Quality Code Slide 17 Continuous Integration e High Quality Code Slide 18 Continuous Integration e High Quality Code Slide 19 Continuous Integration e High Quality Code Slide 20 Continuous Integration e High Quality Code Slide 21 Continuous Integration e High Quality Code Slide 22 Continuous Integration e High Quality Code Slide 23 Continuous Integration e High Quality Code Slide 24 Continuous Integration e High Quality Code Slide 25
Próximo SlideShare
QUALICOPC (Giorgio Visentin)
Siguiente
Descargar para leer sin conexión y ver en pantalla completa.

8 recomendaciones

Compartir

Descargar para leer sin conexión

Continuous Integration e High Quality Code

Descargar para leer sin conexión

In queste slide, presentate durante il Google Developer Group Dev Fest Mediterranean 2014 vi è una introduzione alla "Continuous integration" una pratica di sviluppo software dove i membri di un team integrano il loro lavoro frequentemente.Sono inoltre presentati alcuni tool integrabili in una "build" per misurare la qualità del codice PHP così da rispettare diverse metriche ed avere codice di qualità.

Audiolibros relacionados

Gratis con una prueba de 30 días de Scribd

Ver todo

Continuous Integration e High Quality Code

  1. 1. Continuous Integration e High Quality Code Daniele Mondello
  2. 2. 2 Chi Sono About me Nasco nel 1971 a Palermo e dopo un’ infanzia fatta di cartoni animati, Super Santos, libri e Coin-Up nell’estate dell’86 ricevo in dono un COMMODORE 64 che mi cambia la vita. Daniele Mondello • Management • Team Leader • Quality Manager • Web Architect • Healthcare IT Consultant • UX Expert • Ubuntu, CentOS • Mac OSX • Windows • IOS • Android • Embedded OS: Raspbian,Pidora • PHP (5 years) • Javascript (10 years) • ASP(12 years) • MySQL (5 years) • HTML, CSS3 (14 years) • Ruby, Rails (1 year) Developer O.S. General Skill
  3. 3. 3 1986 Diego!
  4. 4. 4 Prodotto Industriale An. Normative An. Rischi Ric. Mercato Sc. Prodotto Req. Sistema Cond. Utilizzo Man. Utente Pr. Esecutivo SOUP An. Requisiti CONTINUOUS INTEGRATION -Test Responsive -Test Javascript -Ottimizzazione -Test Usability -Test Sicurezza -Test C&P -Test Style -Test PHP -Test DB -TestW3C Casi D’uso Wireframes REGOLE DI SVILUPPO [Regole di Stile] [Regole DB] [Regole Documentazione Codice] [Regole di Sviluppo] [Regole di Sistema] Server CI CVS Project Management BETA SPERIMENTAZIONE RILASCIO V. 1 Progettazione Sviluppo
  5. 5. Cosa è la Continuous 5 Integration? ”E’ una pratica di sviluppo software dove i membri di un team integrano il loro lavoro frequentemente, almeno una volta al giorno. Ogni integrazione è verificata da una build automatica (inclusi i test) per individuare gli errori d’integrazione il più rapidamente possibile.” CVS CI SERVER IDE Continuous Integration PM TOOL
  6. 6. Cosa è 6 un Control Version System? E' un tool che permette il controllo di versione (versioning), cioè la gestione di versioni multiple di un insieme di informazioni. CVS
  7. 7. 7 CVS: GIT 02 Dividere lo sviluppo del progetto in più linee indipendenti , chiamati "rami ", che possono evolvere separatamente 03 Periodicamente ricombinare i rami in un processo per riconciliare le modifiche apportate in due o più ram 01 Esaminare lo stato di un progetto nel più breve tempo possibile 04 Mostrare le differenze tra le varie versioni del progetto CVS
  8. 8. 8 Funzionamento GIT Version 1 Version 2 Version 3 Version 4 Version 5 File A File B File C File A File C File A1 File A1 File File B1 B File B File C1 File B1 File C2 File A2 File B1 File B File C3 File B1 CVS
  9. 9. 9 FLUSSO DI LAVORO Build Privata Server CI Lancio di una build privata Lo sviluppatore effettua una Build Privata sulla propria postazione così da integrare eventuali cambiamenti effettuati dagli altri membri del team e verificato che l’integrazione dia un sistema funzionante. Commit sul CVS del codice Lo sviluppatore conclusa l’attività effettua un commit sul repository del sistema di controllo di versione. 5 Lancio SCRIPT su server CI I l s e r v e r d i CI a c c o r t o s i d e l cambiamento scarica i l codice aggiornato e lancia uno script di build così da integrare questi cambiamenti e da ricostruire il sistema e ri-testarlo ed a seguito del risultato della build, genera un feedback (es: email) visibile al team CVS
  10. 10. 10 MOTORE CI e BUILD Il sistema di CI viene utilizzato per: - collezionare il codice dai repository remoti - lanciare i test automatici - lanciare test statici sul codice - generare report più o meno complessi - effettuare delle misurazioni rispetto a delle metriche - notificare a chi di dovere Privata Test sul codice Test PHP Test Javascript Deploy Minifizzazione Cambio URL Disattivazione Warning Differenti tipi di BUILD Pubblica Test Integrazione Prod. Documentazione Test Sicurezza
  11. 11. 11 JENKINS: I PROGETTI
  12. 12. 12 JENKINS: LA BUILD 1/2
  13. 13. 13 JENKINS: LA BUILD 2/2
  14. 14. 14 Metriche del software Le metriche software sono degli standard per misurare alcune proprietà del software. Le metriche del software permettono di valutare funzionalità e il rapporto costi/efficacia, così da realizzare software di qualità. Affidabilità Efficienza Sicurezza Manutenibilità High Quality Code
  15. 15. 15 Tools: PHPLOC Permette di misurare le dimensioni di un progetto PHP, ottenendo informazioni utili riguardanti il numero di elementi presenti. PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Informazioni sulle dimensioni di un progetto linee di codice, linee di codice commentate e non commentate, numero di classi,dimensione media delle classi, media di funzioni nelle classi. Informazioni sulle complessità di un progetto Complessità ciclomatica rispetto alle linee di codice. Informazioni sulle struttura Numero di Namespace, Interfacce, Classi( Astratte e Concrete), Numero di metodi (pubblici e Non), Numero Funzioni e Numero Costanti. Autore: S. Bergmann
  16. 16. 16 Tools: PHP DEPEND Software che esegue l'analisi statica del codice sorgente. PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Analizza il codice sorgente di un applicativo PHP e ne produce un albero sintattico astratto (AST) In output genera: due grafici
  17. 17. 17 Tools: PHP DEPEND PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Inheritance Coupling Size & Complexity Number Of Packages Number of Classes Number Of Methods Lines Of Code Cyclomatic Complexy Coupling CALLS FANOUT Inheritance Average Num of Derived Classes Average Hierarchy Height Size & Complexity Software che esegue l'analisi statica del codice sorgente.
  18. 18. 18 Tools: PHP DEPEND Software che esegue l'analisi statica del codice sorgente. PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector
  19. 19. 19 Tools: PHP Mess Detector Analizza il codice sorgente di un progetto PHP e cerca di estrarne i potenziali problemi, applicando un insieme predefinito di regole per l’analisi del codice. PHPLOC PHP Lines of Code Regole sulle PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Dimensioni Regole su Codice inutilizzato Regole Design Regole attribuzione nomi
  20. 20. 20 Tools: PHP Mess Detector PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Regole sulle Dimensioni Regole su Codice inutilizzato Regole Design Cyclomatic Complexity NPath Complexity ExcessiveMethodLength ExcessiveClassLength ExcessivePublicCount TooManyFields ExcessiveClassComplexity TooManyFields UnusedPrivateField UnusedLocalVariable ExitExpression EvalExpression GotoStatement NumberOfChildren DepthOfInheritance CouplingBetweenObjects Regole attribuzione nomi ShortVariable LongVariable ShortMethodName ConstructorWithName ConstantNaming. BooleanGetMethod.
  21. 21. 21 Tools: PHP Code Sniffer Tool per l’analisi del codice che rileva violazioni delle convenzioni di scrittura (coding standard), così da aiutare a mantenere il codice pulito, consistente e manutenibile. PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector
  22. 22. 22 Tools: PHP Code Sniffer PHP Framework Interoperability Group Agavi AWS SDK for PHP (Amazon Web Services) Apache log4php Assetic and Buzz Aura Project and Solar Framework CakePHP Composer and Packagist Contao Open Source CMS Doctrine Drupal eZ Publish TYPO3 Flow Jackalope Joomla Laravel PEAR Phalcon PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector Phing phpBB phpDocumentor PPI Framework PrestaShop Propel PyroCMS SabreDAV Sculpin Stash SugarCRM Symfony2 The community at large Wikibase and Semantic MediaWiki Yii framework Zend Framework 2 Zikula
  23. 23. 23 Tools: PHP Code Sniffer Tool per l’analisi del codice che rileva violazioni delle convenzioni di scrittura (coding standard), così da aiutare a mantenere il codice pulito, consistente e manutenibile. PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector PSR-1 Garantisce un elevato livello di interoperabilità tecnica tra codice PHP condiviso. PSR 1 PSR-2 Fornisce una guida dello stile di codifica da adottare nella scrittura codice estendendo il PSR-1 PSR-3 Descrive una interfaccia comune per le librerie di log. PSR 2 PSR 0 PSR 3 PSR 4 PSR-4 Descrive un nuovo standard per l’autoloading FPSR-0 descrive i requisiti necessari ai quali ci si deve uniformare per garantire l''interoperabilità tra gli autoloader .
  24. 24. 24 Tools: PHPCPD Strumento che rivela la presenza di codice duplicato all’interno del codice sorgente PHPLOC PHP Lines of Code PHP DEPEND PHPMD PHP Mass Detector PHPCS PHP Code Sniffer PHPCPD Copy/Paste Detector
  25. 25. Daniele Mondello Continuous Integration e High Quality Code GRAZIE! info@danielemondello.it @dmondello Daniele.Mondello
  • maycoolboy

    Aug. 18, 2015
  • bertux89

    Jun. 26, 2015
  • cnosso

    May. 29, 2015
  • gianfrasoft

    Apr. 3, 2015
  • chico

    Nov. 8, 2014
  • alessiodel

    Oct. 22, 2014
  • ChristopherPecoraro

    Oct. 21, 2014
  • VincenzoStira

    Oct. 21, 2014

In queste slide, presentate durante il Google Developer Group Dev Fest Mediterranean 2014 vi è una introduzione alla "Continuous integration" una pratica di sviluppo software dove i membri di un team integrano il loro lavoro frequentemente.Sono inoltre presentati alcuni tool integrabili in una "build" per misurare la qualità del codice PHP così da rispettare diverse metriche ed avere codice di qualità.

Vistas

Total de vistas

1.134

En Slideshare

0

De embebidos

0

Número de embebidos

24

Acciones

Descargas

19

Compartidos

0

Comentarios

0

Me gusta

8

×