© 2008 WS (WebScience srl) – All rights reserved WS Tech R&D Overview tool di sviluppo
© 2008 WS (WebScience srl) – All rights reserved WS © | 2 Indice Le basi? Editor e IDE Controllo versione Continuous Integration Analisi del codice Testing Profiling e tuning Gestione progetti e issue tracking Browser ed estensioni Risorse e formazione
© 2008 WS (WebScience srl) – All rights reserved WS © | 3 Le basi?
© 2008 WS (WebScience srl) – All rights reserved WS © | 4 Gli strumenti Carta e penna! + mappe mentali Lavagna/Flipchart Terminale – Cygwin/PowerShell | Bash Shortcut + Launcher – Launchy | Quicksilver | Gnome do | Krunner + Ubiquity Google Docs/Zoho IChat | TightVNC | ECF WorkRave
© 2008 WS (WebScience srl) – All rights reserved WS © | 5 Editor e IDE
© 2008 WS (WebScience srl) – All rights reserved WS © | 6 Scegliere un editor Usare un solo editor Usarlo bene Feature – Configurabile – Estendibile – Programmabile
© 2008 WS (WebScience srl) – All rights reserved WS © | 7 Produttività Conoscere gli shortcut Automatizzare i task ripetitivi Nuovi task con lo stesso strumento
© 2008 WS (WebScience srl) – All rights reserved WS © | 8 Gli strumenti Vi/Emacs Notpad++ | TextMate | Gedit | Kate Eclipse – Findbugs – Mylyn -> Connettore Jira – WTP/JBoss Tools Visual Paradigm for UML
© 2008 WS (WebScience srl) – All rights reserved WS © | 9 Controllo versione
© 2008 WS (WebScience srl) – All rights reserved WS © | 10 Buone pratiche Versionare tutto, sempre non metadati workspace e file privati Update/commit frequenti Naming convention Policy condivise Commento per ogni commit
© 2008 WS (WebScience srl) – All rights reserved WS © | 11 Branching Ogni codeline ha un owner Branch solo quando serve e il più tardi possibile Branch di rilascio per il bugfixing Merge il più presto possibile e di frequente Merge eseguita dalla persona più adatta
© 2008 WS (WebScience srl) – All rights reserved WS © | 12 Gli strumenti Tortoise | SCPlugin | (Shell) Eclipse + Subclipse Sventon + Jira/Hudson
© 2008 WS (WebScience srl) – All rights reserved WS © | 13 Continuous integration
© 2008 WS (WebScience srl) – All rights reserved WS © | 14 Prerequisiti Tutte le risorse versionate Build – completamente automatizzata – self-testing – rapida Commit frequenti Smoke test
© 2008 WS (WebScience srl) – All rights reserved WS © | 15 Benefici Riduzione del rischio Stima precisa tempi di integrazione Bug di integrazione visibili subito Meno bug e ricicli
© 2008 WS (WebScience srl) – All rights reserved WS © | 16 Gli strumenti Ant/Maven 2 JUnit/TestNG + task Ant/Maven 2 Hudson
© 2008 WS (WebScience srl) – All rights reserved WS © | 17 Qualità del codice
© 2008 WS (WebScience srl) – All rights reserved WS © | 18 I fattori Leggibilità Testabilità Bassa complessità Manutenibilità
© 2008 WS (WebScience srl) – All rights reserved WS © | 19 Come migliorare Refactoring continuo Software review – Pair programming – Code walkthrough – Code review Verifica metriche analisi statica
© 2008 WS (WebScience srl) – All rights reserved WS © | 20 Gli strumenti Findbugs Sonar = Checkstyle + PMD + Cobertura + Junit
© 2008 WS (WebScience srl) – All rights reserved WS © | 21 Test funzionali
© 2008 WS (WebScience srl) – All rights reserved WS © | 22 Quali test Test di unità – Qualità (TDD, copertura minima) – Regressione – Bugfixing Test di accettazione – UAT -> User Acceptance testing – Smoke test
© 2008 WS (WebScience srl) – All rights reserved WS © | 23 Gli strumenti Test di unità – JUnit/TestNG + Jmock + DBUnit – JsUnit/FireUnit – RIATest Test di accettazione – FitNess +... – Selenium IDE + Selenium RC – Fest
© 2008 WS (WebScience srl) – All rights reserved WS © | 24 Profiling e tuning
© 2008 WS (WebScience srl) – All rights reserved WS © | 25 Quando e come Codice di qualità non codice veloce – Se è scritto bene può essere ottimizzato Evitare decisioni che limitino le performance Misurare sempre prima e dopo Ottimizzare solo quando serve
© 2008 WS (WebScience srl) – All rights reserved WS © | 26 Gli strumenti Stress testing – JMeter – Wapt Profiling – VisualVM – JProfiler
© 2008 WS (WebScience srl) – All rights reserved WS © | 27 Gestione progetti e issue tracking
© 2008 WS (WebScience srl) – All rights reserved WS © | 28 Cosa tracciare Scrum/gestione agile + reportistica – Product backlog (storie, complessita, priorità) – Sprint backlog (task, assunzioni) – Burndown (sprint e release) Ciclo di vita di tutti i bug – QA – Help Desk – Cliente Gestione rilasci
© 2008 WS (WebScience srl) – All rights reserved WS © | 29 Gli strumenti Carte planning poker/planningpoker.com Jira + Greenhopper – Eclipse - Mylyn – Subversion - Sventon – Hudson Sharepoint TWiki
© 2008 WS (WebScience srl) – All rights reserved WS © | 30 Browser ed estensioni
© 2008 WS (WebScience srl) – All rights reserved WS © | 31 Sviluppo non navigazione Tutti i browser... Rispettare gli standard (W3C) Esistono i disabili Character set ed encoding
© 2008 WS (WebScience srl) – All rights reserved WS © | 32 Gli strumenti Firefox – Firebug Yslow/Pagespeed Hammerhead Fireunit – Venkman
© 2008 WS (WebScience srl) – All rights reserved WS © | 33 Risorse e formazione
© 2008 WS (WebScience srl) – All rights reserved WS © | 34 Quali obiettivi 1 libro tecnico a quadrimeste 1 linguaggio all'anno 1 corso all'anno Blog e magazine Newsgroup/forum User groups
© 2008 WS (WebScience srl) – All rights reserved WS © | 35 Gli strumenti Biblioteca di WS + Amazon Google Reader Krugle/Google code search JUG Milano/milano-xpug
© 2008 WS (WebScience srl) – All rights reserved WS © | 36 Riferimenti