Eclipsekurs 2007/Vortrag Tag 2
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)