Eclipsekurs 2007/Vortrag Tag 2: Unterschied zwischen den Versionen
(→Importieren) |
|||
(7 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Tips & Tricks == | == Tips & Tricks == | ||
* Projekt erklären: HelloWorld | * Projekt erklären: HelloWorld | ||
− | * Task View: Todos und Fixmes aus HelloWorld, anklicken, | + | * Task View: Todos und Fixmes aus HelloWorld, anklicken, Unterschied erklären |
− | * Erstes | + | * Erstes FIXME abarbeiten |
− | * | + | ** Random int in Liste einfügen, dabei auf fehlendes Javadoc hinweisen |
− | * | + | ** FIXME entfernen -> darauf hinweisen, dass es auch verschwunden ist |
− | ** Attach source | + | * Erstes Todo abarbeiten und dann entfernen: |
− | * Auto-Completion | + | ** Warum warnt er denn bei Vector? -> "Open Declaration" -> "Ooops kein Quellcode!" |
− | * ( | + | ** Mit "Attach source" Quellcode in "src.zip" anhängen -> Vector.java erscheint |
+ | ** Vector ist eine generische Klasse -> Deklaration von vec korrigieren -> diverse Warnungen verschwinden | ||
+ | ** Hinweis: Jetzt wird in der Auto-Completion auch Javadoc angezeigt -> Eclipse holt sich aus dem Quellcode live Javadoc | ||
+ | ** Andere Warnung: Überflüssiger Import | ||
+ | *** Mit "Organize Imports" überflüsigen Import entfernen | ||
+ | *** Imports entfernen und wieder "Organize Imports" aufrufen -> alle nötigen Imports wieder da! | ||
+ | ** Zweites Todo: getSum() dokumentieren: | ||
+ | *** Per Template ohne klicken | ||
+ | *** Über "Generate Element Comment" im Outline | ||
+ | |||
== Importieren == | == Importieren == | ||
− | * | + | * Begriffsklärung, typische Imports: |
− | * Dialog | + | ** Andere Projekte in Workspace integrieren |
− | * | + | ** Vorgaben für Übungs-Blätter (Quellcode und als .class Dateien) |
+ | ** Dateien beliebiger Art | ||
+ | |||
+ | * Der Import Dialog (über Menü aber auch Kontextmenü erreichbar) | ||
+ | ** Ein Projekt importieren | ||
+ | *** Aus Ordner | ||
+ | *** Aus Archiv | ||
+ | ** Beliebige Dateien importieren (auch Quellcode) | ||
+ | *** Aus Ordner | ||
+ | *** Aus Archiv | ||
+ | *** Hinweis: Type-Filter demonstrieren | ||
+ | ** Spezialfall: Vorgegebene .class Dateien einbinden | ||
+ | *** Vorgehen: 1) Import 2) Einbinden in den Java Build Path | ||
+ | *** Hinweis: Man kann Vorgaben auch zu jar Dateien packen und dann auf gleichem Weg importieren | ||
+ | *** Hinweis:Jar-Dateien erzeugen mittels "jar"-Tool vom JDK oder Export Funktion in Eclipse | ||
== Exportieren == | == Exportieren == | ||
− | * | + | * Exportieren: |
− | * | + | ** Quellcode z.B. zum Abgeben |
− | * | + | ** Beliebige andere Daten |
− | + | ** Jar-Dateien erzeugen | |
+ | * Dialog zeigen | ||
+ | ** File System zeigen und Quellcode exportieren | ||
+ | ** Archive File zeigen und nach Archiv exportieren, völlig analog zum File System | ||
+ | ** Jar-Files erzeugen: | ||
+ | ** Dialog zeigen | ||
+ | *** Wichtigste Filter erklären | ||
+ | *** zwei screens später auf main-class eintrag eingehen | ||
== Refactoring == | == Refactoring == |
Aktuelle Version vom 17. November 2007, 02:34 Uhr
Inhaltsverzeichnis
Tips & Tricks
- Projekt erklären: HelloWorld
- Task View: Todos und Fixmes aus HelloWorld, anklicken, Unterschied erklären
- Erstes FIXME abarbeiten
- Random int in Liste einfügen, dabei auf fehlendes Javadoc hinweisen
- FIXME entfernen -> darauf hinweisen, dass es auch verschwunden ist
- Erstes Todo abarbeiten und dann entfernen:
- Warum warnt er denn bei Vector? -> "Open Declaration" -> "Ooops kein Quellcode!"
- Mit "Attach source" Quellcode in "src.zip" anhängen -> Vector.java erscheint
- Vector ist eine generische Klasse -> Deklaration von vec korrigieren -> diverse Warnungen verschwinden
- Hinweis: Jetzt wird in der Auto-Completion auch Javadoc angezeigt -> Eclipse holt sich aus dem Quellcode live Javadoc
- Andere Warnung: Überflüssiger Import
- Mit "Organize Imports" überflüsigen Import entfernen
- Imports entfernen und wieder "Organize Imports" aufrufen -> alle nötigen Imports wieder da!
- Zweites Todo: getSum() dokumentieren:
- Per Template ohne klicken
- Über "Generate Element Comment" im Outline
Importieren
- Begriffsklärung, typische Imports:
- Andere Projekte in Workspace integrieren
- Vorgaben für Übungs-Blätter (Quellcode und als .class Dateien)
- Dateien beliebiger Art
- Der Import Dialog (über Menü aber auch Kontextmenü erreichbar)
- Ein Projekt importieren
- Aus Ordner
- Aus Archiv
- Beliebige Dateien importieren (auch Quellcode)
- Aus Ordner
- Aus Archiv
- Hinweis: Type-Filter demonstrieren
- Spezialfall: Vorgegebene .class Dateien einbinden
- Vorgehen: 1) Import 2) Einbinden in den Java Build Path
- Hinweis: Man kann Vorgaben auch zu jar Dateien packen und dann auf gleichem Weg importieren
- Hinweis:Jar-Dateien erzeugen mittels "jar"-Tool vom JDK oder Export Funktion in Eclipse
- Ein Projekt importieren
Exportieren
- Exportieren:
- Quellcode z.B. zum Abgeben
- Beliebige andere Daten
- Jar-Dateien erzeugen
- Dialog zeigen
- File System zeigen und Quellcode exportieren
- Archive File zeigen und nach Archiv exportieren, völlig analog zum File System
- Jar-Files erzeugen:
- Dialog zeigen
- Wichtigste Filter erklären
- zwei screens später auf main-class eintrag eingehen
Refactoring
- Ziel von Refactoring: Programmdesign verbessern ohne Funktion zu verändern
- Design verbessern heißt die Lesbarkeit, Wartbarkeit und Struktur zu verbessern
- TestProjekt erklären:
- UML Diagram anzeigen
- Geometrie, Frorm, Kreis in Eclipse zeigen
- Rename:
- Frorm -> form (WARNUNG: Java-Konventionen) -> Form
- hierbei die Preview Funktion erwähnen
- r -> radius
- Funktioniert genauso mit allem was einem Namen hat: Projekte, Ordner, Java-Packages, Klassen, Methoden, Variablen, etc
- radius -> xy
- Den Name Clash im Preview Dialog erklären, Refactoring abbrechen
- Hinweis: Praktisch ist es möglich Funktionalität mit Refactoring zu zerstören, daher immer testen nach Refactoring
- Extract Method:
- Code in "Kreis" kurz erklären (Oh mein Gott: doppelter Code!)
- PI-Code markieren und extrahieren, dabei Formular-Felder kurz erklären: Name, Access-Modifier, Preview
- an Code zeigen, wie PI Code ausgelagert und _sogar_ auch noch an zwei Stellen ersetzt wurde
- extract rückgängig machen (Menüfunktion benutzen!!), nochmal von vorne und dabei auf die "occurence replace" Option hinweisen
- darauf hinweisen, dass "occurence replace" nur bei _identischem_ Code funktioniert
- Pull-Up:
- wir wollen später noch eine Ellipsen-Klasse definieren -> wir brauchen PI auch dort -> es wäre schön wenn PI in der Klasse Form wäre
- pull-up Formular aufrufen, Felder erklären: Destination Type, Actions for members und dann "next" anklicken und noch erklären, dass zu entfernende Funktionen auch eingestellt werden können
- zeigen dass es tatsächlich ausgelagert wurde und von private auf _protected_ geändert wurde
Debugging
- Programm vorstellen
- Normal starten -> Exception
- als Debug starten, Debug-Perspektive
- Fenster erklären: Code, Stack und Threads, Variablem im Scope (main)
- Fehler finden.
- Fehler korrigieren.
- Neu starten, Ausgabe 0 - Nanu?
- Keine Exception -- wie debuggt man? Breakpoints!
- Zeile 15
- b1 -> into
- b2 -> over
Team Programming
- Mehere Leute arbeiten an einem Programm / Projekt
- Subversion (SVN)!
- Grafik zeigen
- Ein zentraler Ort, wo der Code liegt
- Leute kopieren Dateien auf ihren PC
- Änderungen werden an den Server geschickt
- Änderungen anderer herunterladen
- Was bringt Subversion? --> Paralleles Arbeiten, Kombinieren (Merging) von Änderungen, Versionshistorie
- Aktionen: Checkout, Commit, Update (Conflict)
- SVN in Eclipse: Subclipse als Plugin (im CS-Netz installiert)
- Perspektive: SVN Repository Exploring
- Einrichtung eines Repositories
- URL angeben, Nutzername und Passwort, als Authorname auch "lohrmann"
- Auschecken aus der Location
- Anlegen als Projekt, falls keins existiert
- Anzeigen von Änderungen: Sternchen, Fragezeichen
- Klasse anlegen
- Commit -> Hinzufügen von Dateien, -> keine .class-Dateien
- Update
- History (Geschichte, Änderungsverlauf)