Eclipsekurs 2007/Vortrag Tag 2
< Eclipsekurs 2007
Version vom 15. November 2007, 18:43 Uhr von BjörnL (Diskussion)
Inhaltsverzeichnis
Tips & Tricks
- Projekt erklären: HelloWorld
- Task View: Todos und Fixmes aus HelloWorld, anklicken, Unterscheid erklären
- Erstes Fixme abarbeiten und dann entfernen: "in Liste einfügen"
- Javadoc Template: getSum() dokumentieren, sowohl ohne klicken als auch über "Generate Element Comment" im Outline
- Gemäß Todos Warnung beseitigen: Was ist Vektor -> "Open Declaration" -> "Ooops kein Quellcode!"
- Attach source (src.zip)
- Auto-Completion mit Javadoc zeigen: vec.<Conten Assist> -> zeigt auch Javadoc
- (Organize) Import
Importieren
- Erklären warum importieren wichtig ist (Vorgaben für UE-Blätter, Bibliotheken)
- Dialog-Fenster vorstellen und wichtigste Punkte erwähnen (Archive, beliebige Dateien wie Quellcode, Projekte von anderen)
- bei vorgegebenen .class Dateien: jar -cf vorgabe.jar filename und danach jar-File ins Projekt hinzufügen sowie Project->Properties->Java Build Path->Libraries->Add Jar
Exportieren
- analog zum Importieren (file-system, archive, etc.), auch wieder type-filters möglich
- über Kontext-Menü+s lassen sich auch nur bestimmte Dateien (einzelne Java-Files etc exportieren)
- ausführbare Jar Dateien erzeugen: Export -> Jar File, type filter erklären und dann zwei screens später die Main-Class auswählen
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)