SlideShare a Scribd company logo
1 of 45
ECLIPSE IDE




Felice Pescatore
IDE?
• IDE sta per Integrated Development Environment
• Esistono IDE pensati per ambiti specifici
   • BlueJ, DrJava sono pensati come ambienti per l’insegnamento
          • Enfatizzano la semplicità di utilizzo essendo rivolti a principianti
          • Minimizzano la curva di apprendimento per consentire ai discenti di
            concentrarsi sullo studio del linguaggio
   • Eclipse, JBuilder, NetBeans, Visual Studio sono tool di
     sviluppo (e progettazione) professionali
          • Supportano necessità professionali
          • Richiesto una fase di apprendimento decisamente più lunga, cosa che
            però verrà ripagata dal punto di vista operativo



      2
Un ampio ecosistema
Eclipse
Eclipse
• Eclipse è un IDE multilinguaggio e multipiattaforma
  scritto in Java.
• E’ Open Source.
• Può essere adattato alle esigenze più varie semplicemente
  aggiungendo un plug-in.
• Eclipse è scaricabile all'indirizzo www.eclipse.org
Eclipse: primo avvio
• Eclipse non necessita di installazione
• Per avviare eclipse è sufficiente eseguire eclipse.exe
• E' disponibile per i sistemi operativi più diffusi (Windows,
  Linux, Mac ...)
Eclipse: Workbench (banco di lavoro)
 Menu bar
                                 Text
 Tool bar                        editor
 Perspective
 and
 Fast View
 bar                             Outline
                                 view
 Resource
 Navigator
 view

                                 Bookmarks
 Properties                      view
 view

 Message                         Editor
 area                            Status
               Stacked   Tasks   area
               views     view
Eclipse: Workbench, viste (1)
Outline View:
mostra i metodi
implementati e le variabile
definite.


Package Explorer View:
mostra i progetti del
workspace, le relative
classi e i package
Eclipse: Workbench, viste (2)

 Navigator View:
 mostra i progetti e tutti
 i file appartenenti ad essi
Eclipse: Perspectives
L’interfaccia grafica di Eclipse è organizzata a
perspectives.
Le perspectives non sono altro che dei raggruppamenti di
funzionalità dell’IDE, fatti in base ad una specifica
operazione di sviluppo.
La Java perspective ad esempio
riunisce strumenti di stesura e
organizzazione del codice mentre
la Debug perspective fornisce
strumenti in fase di debug.
Eclipse: Help
Eclipse: Java Development Tools
 • JDT = Java Development Tools
 • Stato dell’Arte nello sviluppo di ambienti per Java

 • Realizzati al top della piattaforma Eclipse
    • come plug-in di Eclipse
    • utilizzando le API per l’estensione di Eclipse

 • Inclusi nel progetto Eclipse Project
    • installabile come feautures separata
    • parte dell’Eclipse SDK
Eclipse e Java
   •   Messaggi di errore significativi
   •   Genera codice eseguibile anche in presenza di errori
   •   Compilazione (incrementale) automatica
   •   Alte performance
   •   Gestione di grandi progetti
   •   Check della sintassi
   •   Analisi delle strutture all’intero dei file di codice
   •   Risoluzione dei nomi
   •   Help contestualizzato
   •   Refactoring
   •   Ricerca
Eclipse e Java: path
   • Eclipse all'avvio cerca la JVM del sistema e setta il
     Path di default in base a questa, quindi non è
     necessario impostare alcun Path per iniziare a
     lavorare.

   • Se un progetto dovesse utilizzare una versione di
     JVM diversa da quella di default è necessario
     modificare il Path di quel progetto.
Eclipse e Java: path (2)
    • Per settare il Path di un progetto cliccare su
      Nome_Progetto -> Properties nella vista
      Package Explorer o in quella Navigator.
    • Nel menu di sinistra scegliere Java Build Path e
      nella scheda Libraries cliccare su Add Librarie.
    • Nella schermata Add Librarie cliccare su JRE
      System Librarie e selezionare dove si trova la JVM
      desiderata (cartella /jre)
Eclipse e Java: classpath
   • Per settare il Classpath di un progetto cliccare su
     Nome_Progetto->Properties nella vista
     Package explorer o in quella Navigator.
   • Nel menù di sinistra scegliere Java Build Path e
     nella scheda Libraries si possono aggiungere nel
     classpath file jar, intere directory, ecc…
Eclipse e Java: classpath (2)
Eclipse e Java: area di lavoro
  Vista principale basata sui file di progetto

    Java
  project

  package

       class

            field
      method


    Java
   editor
Eclipse e Java: area di lavoro (2)
  Gestione ad albero della gerarchie




     Type
hierarchy



Selected
  type’s
members
Eclipse e Java: area di lavoro (3)
  Ricerca di elementi Java
     • Per dichiarazione o reference
     • Inclusione delle librerie e/o di altri progetti
                                                         Hits
                                                         flagged
                                                         in margin
                                                         of editor


                                                         All search
                                                         results
Eclipse e Java: inline javaDoc
 Evidenziando un elemento viene visualizzato il relativo javadoc
Eclipse e Java: auto-completamento
     Completamento automatico dei metodi

List of plausible methods                  Doc for method
Eclipse e Java: errori sintattici
   Gli errori sintattici vengono evidenziati e viene proposta
   una alternativa




Click
to see
fixes

         Problem                                           Preview
                                  Quick
                                  fixes
Eclipse e Java: code template
 Suggerimento di pezzi di codice standard




Statement
 template                                   Preview
Eclipse e Java: stub
  Grazie all’editor è possibile creare automaticamente gli stub
  dei metodi


Method stub insertion for
 anonymous inner types




   Method stub insertion
   for inherited methods
Eclipse e Java: best practice
  Suggerimenti per la scrittura di codice ben strutturato
     Variable name
     suggestion
                                                            JavaDoc
                                                            code assist




Argument hints and
proposed argument
names
Eclipse e Java: altre caratteristiche
  •   Local method history
  •   Code formatter
  •   Source code for binary libraries
  •   Built-in refactoring
Eclipse e Java: nuovo progetto
• Cliccare su File -> New ->
  Project…
• Scegliere Java Project.
• Nella finestra New Java Project
       dare un nome al progetto e
       cliccare su «Finish».
Eclipse e Java: nuova classe
• Per creare una nuova classe fare click con il tasto
  destro su un package nella vista
• Package Explorer o Navigator, poi scegliere New ->
  Class.
Eclipse e Java: nuova classe (2)
• Digitare il nome
  della nuova classe.
• Scegliere l'eventuale
  package della classe.
• Scegliere gli attributi
  della classe
  (public, private...)
Eclipse e Java: nuova classe (3)
La nuova classe appare nella vista sulla sinistra e l’editor
mostra il suo codice generato.
Eclipse e Java: esecuzione
• Per eseguire il progetto corrente, cliccare sul menù
  “Run” e scegliere “Run…”
• Nella finestra Run Configuration Manager creare una
  nuova Run configuration e dargli un nome.

                  New Run
                Configuration
Eclipse e Java: esecuzione (2)
• Nel Run Configuration Manager scegliere a quale
  progetto si riferisce la nuova configurazione ed in
  quale classe si trova il main. Infine cliccare su Run
Eclipse e Java: esecuzione (3)

Se il metodo main da
eseguire richiede dei
parametri questi possono
essere settati al momento
della creazione della
Configurazione di Run
nella scheda Arguments.
Eclipse e Java: esecuzione (4)

Per rieseguire l’ultima
configurazione è sufficiente
premere Ctrl + F11.
Le configurazioni create
possono essere richiamate
dal menù “Run”
Eclipse e Java: debug
• Non è molto diverso
  rispetto all’esecuzione…
  occorre cliccare sul
  menù Run e scegliere
  Debug…

• In debug scegliere una
  configurazione già
  esistente e procedere con
  il Debug.
Eclipse e Java: debug (2)
L’operazione di debug avviene nella perspective
debug.
Eclipse e Java: debug (3)
• Dall’editor possiamo
  inserire i breakpoint per
  il debug, basta fare
  doppio click a bordo
  riga.
• Dal configurations
  manager possiamo
  scegliere se fermare il
  debug all’inizio del
  metodo main.
Eclipse e Java: debug (4)
• Dalla debug perspective
  possiamo vedere (e
  modificare) i valori di
  variabili ed espressioni.

Es: nel codice ho una
variabile intera chiamata i
di valore 10. Posso vedere e
modificare il valore
Eclipse e Java: export
• E' possibile esportare
  l'intero progetto con un
  file jar cliccando sul
  nome del progetto nella
  vista Package Explorer e
  scegliendo Export.
• Nella finestra seguente
  scegliere Java-
  >Jar, quindi specificarne
  la configurazione.
Eclipse e Java: export (2)
• Per creare la
  documentazione
  (javadoc) del progetto
  cliccare sul nome del
  progetto nella vista
  Package Explorer e
  scegliere Export.
• Nella schermata
  successiva scegliere
  Java->Javadoc e seguire
  il wizard.
Eclipse e Java: refactoring
Tramite il refactoring è possibile riorganizzare il codice
   • incoraggia l’esplorazione del codice stesso
   • favorisce la scrittura di codice di
      qualità, permettendo di migliorare il codice scadente
Eclipse e Java: refactoring (2)
Prima di completare il refactoring è possibile comparare
le modifiche e confermarlo selettivamente



        List of
      changes



      “before”
            vs.
        “after”
Eclipse e Java: refactoring (3)
 • Tipiche attività di refactoring
    o Organizzare gli «import»
    o Rename {field, method, class, package}
    o Spostamento {field, method, class}
    o Estrazione di un metodo
    o Estrazione di una variabile locale
    o Definizione inline di una variabile locale
    o Riordinare i parametri di un metodo
Eclipse and Java

More Related Content

What's hot

What's hot (16)

Java 8: le nuove-interfacce di Ezio Sperduto
Java 8: le nuove-interfacce di Ezio SperdutoJava 8: le nuove-interfacce di Ezio Sperduto
Java 8: le nuove-interfacce di Ezio Sperduto
 
Lezione 3: Sviluppo in Extreme Programming
Lezione 3: Sviluppo in Extreme ProgrammingLezione 3: Sviluppo in Extreme Programming
Lezione 3: Sviluppo in Extreme Programming
 
Lezione 6a: Design Pattern Strutturali
Lezione 6a: Design Pattern StrutturaliLezione 6a: Design Pattern Strutturali
Lezione 6a: Design Pattern Strutturali
 
C# Language Evolution
C# Language EvolutionC# Language Evolution
C# Language Evolution
 
Maven - Aprile 2010
Maven - Aprile 2010Maven - Aprile 2010
Maven - Aprile 2010
 
iOS_Course_6
iOS_Course_6iOS_Course_6
iOS_Course_6
 
Corso pratico di C# - 2013
Corso pratico di C# - 2013Corso pratico di C# - 2013
Corso pratico di C# - 2013
 
Lezione 6b: Design Pattern Strutturali
Lezione 6b: Design Pattern StrutturaliLezione 6b: Design Pattern Strutturali
Lezione 6b: Design Pattern Strutturali
 
Non solo Django: MVC orientato agli oggetti con Plone e Zope Toolkit
Non solo Django: MVC orientato agli oggetti con Plone e Zope ToolkitNon solo Django: MVC orientato agli oggetti con Plone e Zope Toolkit
Non solo Django: MVC orientato agli oggetti con Plone e Zope Toolkit
 
Lezione 5: Design Pattern Creazionali
Lezione 5: Design Pattern CreazionaliLezione 5: Design Pattern Creazionali
Lezione 5: Design Pattern Creazionali
 
Java 8
Java 8Java 8
Java 8
 
Vb.Net
Vb.NetVb.Net
Vb.Net
 
OOP with C#
OOP with C#OOP with C#
OOP with C#
 
Corso Javascript
Corso JavascriptCorso Javascript
Corso Javascript
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 
Lezione 2: I thread
Lezione 2: I threadLezione 2: I thread
Lezione 2: I thread
 

Viewers also liked

Viewers also liked (13)

Come comandare il condizionatore di casa con arduino
Come comandare il condizionatore di casa con arduinoCome comandare il condizionatore di casa con arduino
Come comandare il condizionatore di casa con arduino
 
Corso di Scratch Junior su Ipad
Corso di Scratch Junior su IpadCorso di Scratch Junior su Ipad
Corso di Scratch Junior su Ipad
 
Imparare insieme costruendo giochi digitali
Imparare insieme costruendo giochi digitaliImparare insieme costruendo giochi digitali
Imparare insieme costruendo giochi digitali
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
CoderDojo : Scratch and Arduino
CoderDojo : Scratch and ArduinoCoderDojo : Scratch and Arduino
CoderDojo : Scratch and Arduino
 
Corso Java 1 - BASE
Corso Java 1 - BASECorso Java 1 - BASE
Corso Java 1 - BASE
 
Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4Alfabeto di arduino - lezione 4
Alfabeto di arduino - lezione 4
 
Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3Alfabeto di Arduino - lezione 3
Alfabeto di Arduino - lezione 3
 
Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5Alfabeto di Arduino - lezione 5
Alfabeto di Arduino - lezione 5
 
Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011Arduino lezione 01 - a.s 2010-2011
Arduino lezione 01 - a.s 2010-2011
 
Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2Alfabeto di Arduino - lezione 2
Alfabeto di Arduino - lezione 2
 
Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6Alfabeto di Arduino - lezione 6
Alfabeto di Arduino - lezione 6
 
Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1Alfabeto di Arduino - lezione 1
Alfabeto di Arduino - lezione 1
 

Similar to Eclipse and Java

Webbit 2004: Aspectj
Webbit 2004: AspectjWebbit 2004: Aspectj
Webbit 2004: AspectjMatteo Baccan
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummiesfirenze-gtug
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationTiziano Serritella
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptSinergia Totale
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéEdmondo Porcu
 
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...MicheleDamian
 
Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Giuseppe Vizzari
 
Sencha touch: panoramica e orientamento sul codice
Sencha touch: panoramica e orientamento sul codiceSencha touch: panoramica e orientamento sul codice
Sencha touch: panoramica e orientamento sul codiceGiuseppe Toto
 
Javascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webJavascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webRoberto Messora
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScriptSinergia Totale
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)Valerio Radice
 
Tech Webinar: Test e2e per AngularJS e non solo
Tech Webinar: Test e2e per AngularJS e non soloTech Webinar: Test e2e per AngularJS e non solo
Tech Webinar: Test e2e per AngularJS e non soloCodemotion
 
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio Mercurio
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio MercurioTesi: " Class loading in Android: applicazione a tuProlog " - Alessio Mercurio
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio MercurioAlessio Mercurio
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Giancarlo Valente
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]gioacchinolonardo
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPGiorgio Cefaro
 

Similar to Eclipse and Java (20)

Webbit 2004: Aspectj
Webbit 2004: AspectjWebbit 2004: Aspectj
Webbit 2004: Aspectj
 
Maven from dummies
Maven from dummiesMaven from dummies
Maven from dummies
 
Apache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automationApache Maven - Gestione di progetti Java e build automation
Apache Maven - Gestione di progetti Java e build automation
 
DotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScriptDotNetToscana - Sessione TypeScript
DotNetToscana - Sessione TypeScript
 
Scala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perchéScala: come recuperare la programmazione funzionale e perché
Scala: come recuperare la programmazione funzionale e perché
 
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...
Analisi di prestazione dell'interprete tuProlog su piattaforma Java - Present...
 
Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)Introduzione a JavaScript e jQuery (1/2)
Introduzione a JavaScript e jQuery (1/2)
 
Sencha touch: panoramica e orientamento sul codice
Sencha touch: panoramica e orientamento sul codiceSencha touch: panoramica e orientamento sul codice
Sencha touch: panoramica e orientamento sul codice
 
Javascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il webJavascript avanzato: sfruttare al massimo il web
Javascript avanzato: sfruttare al massimo il web
 
Introduzione a TypeScript
Introduzione a TypeScriptIntroduzione a TypeScript
Introduzione a TypeScript
 
SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)SPRING - MAVEN - REST API (ITA - Luglio 2017)
SPRING - MAVEN - REST API (ITA - Luglio 2017)
 
Tech Webinar: Test e2e per AngularJS e non solo
Tech Webinar: Test e2e per AngularJS e non soloTech Webinar: Test e2e per AngularJS e non solo
Tech Webinar: Test e2e per AngularJS e non solo
 
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio Mercurio
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio MercurioTesi: " Class loading in Android: applicazione a tuProlog " - Alessio Mercurio
Tesi: " Class loading in Android: applicazione a tuProlog " - Alessio Mercurio
 
Many Designs Elements
Many Designs ElementsMany Designs Elements
Many Designs Elements
 
Spring 2.5
Spring 2.5Spring 2.5
Spring 2.5
 
VS Package @ CD2008
VS Package @ CD2008VS Package @ CD2008
VS Package @ CD2008
 
Hadoop SAR
Hadoop SARHadoop SAR
Hadoop SAR
 
Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)Inversion of control e Dependency Injection (ITA)
Inversion of control e Dependency Injection (ITA)
 
Hadoop [software architecture recovery]
Hadoop [software architecture recovery]Hadoop [software architecture recovery]
Hadoop [software architecture recovery]
 
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHPNetbeans e Xdebug per debugging e profiling di applicazioni PHP
Netbeans e Xdebug per debugging e profiling di applicazioni PHP
 

More from Felice Pescatore

Il Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoIl Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoFelice Pescatore
 
Intelligent Business Agility
Intelligent Business AgilityIntelligent Business Agility
Intelligent Business AgilityFelice Pescatore
 
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioDisciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioFelice Pescatore
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to ChangeFelice Pescatore
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to ChangeFelice Pescatore
 
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioPMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioFelice Pescatore
 
Un cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàUn cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàFelice Pescatore
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingFelice Pescatore
 
Industry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaIndustry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaFelice Pescatore
 
Agile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileAgile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileFelice Pescatore
 
Fuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFelice Pescatore
 
Value Focused Team: road to DevOps
Value Focused Team: road to DevOpsValue Focused Team: road to DevOps
Value Focused Team: road to DevOpsFelice Pescatore
 

More from Felice Pescatore (20)

Il Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista ImbruttitoIl Cinismo dell'Agilista Imbruttito
Il Cinismo dell'Agilista Imbruttito
 
Intelligent Business Agility
Intelligent Business AgilityIntelligent Business Agility
Intelligent Business Agility
 
AgileBIM, BIM mets Agile
AgileBIM, BIM mets AgileAgileBIM, BIM mets Agile
AgileBIM, BIM mets Agile
 
Disciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il PrestigioDisciplined Agile, la Promessa, la Svolta e il Prestigio
Disciplined Agile, la Promessa, la Svolta e il Prestigio
 
AgileBIM overview
AgileBIM overviewAgileBIM overview
AgileBIM overview
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
The Disciplined Approach to Change
The Disciplined Approach to ChangeThe Disciplined Approach to Change
The Disciplined Approach to Change
 
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il PrestigioPMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
PMI Disciplined Agile: la Promessa, la Svolta e il Prestigio
 
Agilozzi le testa tutte
Agilozzi le testa tutteAgilozzi le testa tutte
Agilozzi le testa tutte
 
39bit al secondo
39bit al secondo39bit al secondo
39bit al secondo
 
Un cuore moderno per l'Agilità
Un cuore moderno per l'AgilitàUn cuore moderno per l'Agilità
Un cuore moderno per l'Agilità
 
L'Occhio di Ra sul Testing
L'Occhio di Ra sul TestingL'Occhio di Ra sul Testing
L'Occhio di Ra sul Testing
 
#NoElevator4DevOps
#NoElevator4DevOps#NoElevator4DevOps
#NoElevator4DevOps
 
Don't Dirty my Backlog!
Don't Dirty my Backlog!Don't Dirty my Backlog!
Don't Dirty my Backlog!
 
Industry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in ItaliaIndustry 4.0... a che punto siamo in Italia
Industry 4.0... a che punto siamo in Italia
 
Agile IoT & Eclipse Duttile
Agile IoT & Eclipse DuttileAgile IoT & Eclipse Duttile
Agile IoT & Eclipse Duttile
 
Fuffa Day - The Sixth Sense
Fuffa Day - The Sixth SenseFuffa Day - The Sixth Sense
Fuffa Day - The Sixth Sense
 
#NoElevator for DevOps
#NoElevator for DevOps#NoElevator for DevOps
#NoElevator for DevOps
 
Value Focused Team
Value Focused TeamValue Focused Team
Value Focused Team
 
Value Focused Team: road to DevOps
Value Focused Team: road to DevOpsValue Focused Team: road to DevOps
Value Focused Team: road to DevOps
 

Eclipse and Java

  • 2. IDE? • IDE sta per Integrated Development Environment • Esistono IDE pensati per ambiti specifici • BlueJ, DrJava sono pensati come ambienti per l’insegnamento • Enfatizzano la semplicità di utilizzo essendo rivolti a principianti • Minimizzano la curva di apprendimento per consentire ai discenti di concentrarsi sullo studio del linguaggio • Eclipse, JBuilder, NetBeans, Visual Studio sono tool di sviluppo (e progettazione) professionali • Supportano necessità professionali • Richiesto una fase di apprendimento decisamente più lunga, cosa che però verrà ripagata dal punto di vista operativo 2
  • 5. Eclipse • Eclipse è un IDE multilinguaggio e multipiattaforma scritto in Java. • E’ Open Source. • Può essere adattato alle esigenze più varie semplicemente aggiungendo un plug-in. • Eclipse è scaricabile all'indirizzo www.eclipse.org
  • 6. Eclipse: primo avvio • Eclipse non necessita di installazione • Per avviare eclipse è sufficiente eseguire eclipse.exe • E' disponibile per i sistemi operativi più diffusi (Windows, Linux, Mac ...)
  • 7. Eclipse: Workbench (banco di lavoro) Menu bar Text Tool bar editor Perspective and Fast View bar Outline view Resource Navigator view Bookmarks Properties view view Message Editor area Status Stacked Tasks area views view
  • 8. Eclipse: Workbench, viste (1) Outline View: mostra i metodi implementati e le variabile definite. Package Explorer View: mostra i progetti del workspace, le relative classi e i package
  • 9. Eclipse: Workbench, viste (2) Navigator View: mostra i progetti e tutti i file appartenenti ad essi
  • 10. Eclipse: Perspectives L’interfaccia grafica di Eclipse è organizzata a perspectives. Le perspectives non sono altro che dei raggruppamenti di funzionalità dell’IDE, fatti in base ad una specifica operazione di sviluppo. La Java perspective ad esempio riunisce strumenti di stesura e organizzazione del codice mentre la Debug perspective fornisce strumenti in fase di debug.
  • 12. Eclipse: Java Development Tools • JDT = Java Development Tools • Stato dell’Arte nello sviluppo di ambienti per Java • Realizzati al top della piattaforma Eclipse • come plug-in di Eclipse • utilizzando le API per l’estensione di Eclipse • Inclusi nel progetto Eclipse Project • installabile come feautures separata • parte dell’Eclipse SDK
  • 13. Eclipse e Java • Messaggi di errore significativi • Genera codice eseguibile anche in presenza di errori • Compilazione (incrementale) automatica • Alte performance • Gestione di grandi progetti • Check della sintassi • Analisi delle strutture all’intero dei file di codice • Risoluzione dei nomi • Help contestualizzato • Refactoring • Ricerca
  • 14. Eclipse e Java: path • Eclipse all'avvio cerca la JVM del sistema e setta il Path di default in base a questa, quindi non è necessario impostare alcun Path per iniziare a lavorare. • Se un progetto dovesse utilizzare una versione di JVM diversa da quella di default è necessario modificare il Path di quel progetto.
  • 15. Eclipse e Java: path (2) • Per settare il Path di un progetto cliccare su Nome_Progetto -> Properties nella vista Package Explorer o in quella Navigator. • Nel menu di sinistra scegliere Java Build Path e nella scheda Libraries cliccare su Add Librarie. • Nella schermata Add Librarie cliccare su JRE System Librarie e selezionare dove si trova la JVM desiderata (cartella /jre)
  • 16. Eclipse e Java: classpath • Per settare il Classpath di un progetto cliccare su Nome_Progetto->Properties nella vista Package explorer o in quella Navigator. • Nel menù di sinistra scegliere Java Build Path e nella scheda Libraries si possono aggiungere nel classpath file jar, intere directory, ecc…
  • 17. Eclipse e Java: classpath (2)
  • 18. Eclipse e Java: area di lavoro Vista principale basata sui file di progetto Java project package class field method Java editor
  • 19. Eclipse e Java: area di lavoro (2) Gestione ad albero della gerarchie Type hierarchy Selected type’s members
  • 20. Eclipse e Java: area di lavoro (3) Ricerca di elementi Java • Per dichiarazione o reference • Inclusione delle librerie e/o di altri progetti Hits flagged in margin of editor All search results
  • 21. Eclipse e Java: inline javaDoc Evidenziando un elemento viene visualizzato il relativo javadoc
  • 22. Eclipse e Java: auto-completamento Completamento automatico dei metodi List of plausible methods Doc for method
  • 23. Eclipse e Java: errori sintattici Gli errori sintattici vengono evidenziati e viene proposta una alternativa Click to see fixes Problem Preview Quick fixes
  • 24. Eclipse e Java: code template Suggerimento di pezzi di codice standard Statement template Preview
  • 25. Eclipse e Java: stub Grazie all’editor è possibile creare automaticamente gli stub dei metodi Method stub insertion for anonymous inner types Method stub insertion for inherited methods
  • 26. Eclipse e Java: best practice Suggerimenti per la scrittura di codice ben strutturato Variable name suggestion JavaDoc code assist Argument hints and proposed argument names
  • 27. Eclipse e Java: altre caratteristiche • Local method history • Code formatter • Source code for binary libraries • Built-in refactoring
  • 28. Eclipse e Java: nuovo progetto • Cliccare su File -> New -> Project… • Scegliere Java Project. • Nella finestra New Java Project dare un nome al progetto e cliccare su «Finish».
  • 29. Eclipse e Java: nuova classe • Per creare una nuova classe fare click con il tasto destro su un package nella vista • Package Explorer o Navigator, poi scegliere New -> Class.
  • 30. Eclipse e Java: nuova classe (2) • Digitare il nome della nuova classe. • Scegliere l'eventuale package della classe. • Scegliere gli attributi della classe (public, private...)
  • 31. Eclipse e Java: nuova classe (3) La nuova classe appare nella vista sulla sinistra e l’editor mostra il suo codice generato.
  • 32. Eclipse e Java: esecuzione • Per eseguire il progetto corrente, cliccare sul menù “Run” e scegliere “Run…” • Nella finestra Run Configuration Manager creare una nuova Run configuration e dargli un nome. New Run Configuration
  • 33. Eclipse e Java: esecuzione (2) • Nel Run Configuration Manager scegliere a quale progetto si riferisce la nuova configurazione ed in quale classe si trova il main. Infine cliccare su Run
  • 34. Eclipse e Java: esecuzione (3) Se il metodo main da eseguire richiede dei parametri questi possono essere settati al momento della creazione della Configurazione di Run nella scheda Arguments.
  • 35. Eclipse e Java: esecuzione (4) Per rieseguire l’ultima configurazione è sufficiente premere Ctrl + F11. Le configurazioni create possono essere richiamate dal menù “Run”
  • 36. Eclipse e Java: debug • Non è molto diverso rispetto all’esecuzione… occorre cliccare sul menù Run e scegliere Debug… • In debug scegliere una configurazione già esistente e procedere con il Debug.
  • 37. Eclipse e Java: debug (2) L’operazione di debug avviene nella perspective debug.
  • 38. Eclipse e Java: debug (3) • Dall’editor possiamo inserire i breakpoint per il debug, basta fare doppio click a bordo riga. • Dal configurations manager possiamo scegliere se fermare il debug all’inizio del metodo main.
  • 39. Eclipse e Java: debug (4) • Dalla debug perspective possiamo vedere (e modificare) i valori di variabili ed espressioni. Es: nel codice ho una variabile intera chiamata i di valore 10. Posso vedere e modificare il valore
  • 40. Eclipse e Java: export • E' possibile esportare l'intero progetto con un file jar cliccando sul nome del progetto nella vista Package Explorer e scegliendo Export. • Nella finestra seguente scegliere Java- >Jar, quindi specificarne la configurazione.
  • 41. Eclipse e Java: export (2) • Per creare la documentazione (javadoc) del progetto cliccare sul nome del progetto nella vista Package Explorer e scegliere Export. • Nella schermata successiva scegliere Java->Javadoc e seguire il wizard.
  • 42. Eclipse e Java: refactoring Tramite il refactoring è possibile riorganizzare il codice • incoraggia l’esplorazione del codice stesso • favorisce la scrittura di codice di qualità, permettendo di migliorare il codice scadente
  • 43. Eclipse e Java: refactoring (2) Prima di completare il refactoring è possibile comparare le modifiche e confermarlo selettivamente List of changes “before” vs. “after”
  • 44. Eclipse e Java: refactoring (3) • Tipiche attività di refactoring o Organizzare gli «import» o Rename {field, method, class, package} o Spostamento {field, method, class} o Estrazione di un metodo o Estrazione di una variabile locale o Definizione inline di una variabile locale o Riordinare i parametri di un metodo