Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Ein Ausflug durch eine Auswahl von Themen der Programmierung

No description
by

Nils Wesenberg

on 20 May 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Ein Ausflug durch eine Auswahl von Themen der Programmierung

End
Agenda
Refatoring
Optimierung eines Quellcodeteils in Verständlichkeit, Lesbarkeit und Softwarearchitektur

Alle Veränderungen, die im Zuge der Umstrukturierung vorgenommen werden, sollen die Funktionalität nicht beeinflussen

Das Ziel ist es, den Zeitaufwand für spätere Arbeiten am umstrukturierten Programmquellcode zu minimieren

Es hilft den Quellcode schneller zu entwickeln und verbessert unter anderem kontinuierlich das Design der Software
Unvorhergesehene Seiteneffekte
Es hängt unter anderem von der Aufmerksamkeit und dem Wissenstand des Entwicklers oder der Entwicklerin ab, wie viele dieser Effekte entstehen

Je mehr neuer Quellcode von diesen Effekten abhängig ist, desto mehr mögliche Fehlerquellen entstehen

Weil dies ständig unwissentlich entstehen, beginnt mit dem Schreiben der ersten Quellcodezeile ein Prozess des Softwareverfalls
Quellcodegerüche
Beim Refactoring werden Quellcodegerüche gesucht und entfernt

Schlecht strukturierten, aber meist funktionierenden Quellcode

Hinweis auf ein tiefliegendes Problem der Programmarchitektur
Absicherung durch Tests
Das Refactoring greift teilweise sogar tief in die Logik des Programms ein

Unvorhergesehene Seiteneffekte können leicht zerstört werden

Automatisierte Modultest können nach jedem Refactoring-Schritt durchgeführt werden
-->Dadurch werden die meisten solcher Fehler je nach Testabdeckungsgrad entdeckt und können sofort behoben werden

Automatisierte Modul-Tests
Durch Frameworks wie JUnit können in Test Suiten Modultests zusammengefasst werden

Es wird ein Ausgangzustand für jede Test Suit erstellt

Das Framework führt diese unabhängig voneinander, in zufälliger Reihenfolge aus

Ob der Test erfolgreich war, kann bei JUnit durch die „Assert“-Befehle automatisch getestet werden
Ein Ausflug durch eine Auswahl von Themen der Programmierung

Nils Wesenberg
Programmierer Tätigkeit

Objektorientiertes Programmieren

Refactoring
Objektorientiertes Programmieren
organisiert zusammengehörigen Quellcode in Objekten

Objekte orientieren sich an der Wirklichkeit

Die Programmarchitektur kann entworfen werden, indem alle Schnittstellen von wichtigen Objekten und eine Idee von deren Funktionalität entwickelt werden.
Typisierung
Jedem Objekt wird ein Typ zugeordnet

Moderne Programmierumgebungen prüfen Typzuweisungen und Umwandlungen auf ihre Korrektheit

Schutz der Variablen vor fehlerhaften Operationen
Methoden
Beinhalten die Algorithmen, welche eine Klasse von Objekten zur Verfügung gestellt werden sollen

Durch Übergabeparameter können Informationen in die Methode herein gereicht werden

Eine Information kann an das aufrufende Objekt zurückgegeben werden
Klassen
Zusammenfassung gleichartiger Objekte

Stellen die Vorlage zur Verfügung, aus welcher die Instanzen der Objekte während der Laufzeit des Programmes erzeugt werden
Objekt
In Datenfeldern können Informationen gespeichert werden

Verbergen Informationen und die Einzelheiten der Funktionalität, aber enthüllen Verhaltensweisen

Häufig beinhalten Objekte „set“- und „get“-Methoden
Polymorphie
Der Deklaration einer Klasse wird das Suffix „extends“ und den Namen der zu beerbenden Klasse hinzugefügt

Ein Bezeichner kann abhängig vom Kontext seiner Verwendung verschiedene Typen besitzen

Zusätzlich können diese auch den Typ der beerbten Klasse annehmen

Geerbte Methoden und Datenfelder können überschrieben werden
Interfaces
Der Deklaration einer Klasse wird das Schlüsselwort „implements“ und der Bezeichner des Interfaces hinzugefügt

Alle Methoden des Interfaces müssen in dieser Klassen deklariert werden

Alle Klassen können dessen Typ-Bezeichner übernehmen

Es können die Methoden des Interface aufgerufen werden, unabhängig aus welcher Klasse diese stammen
Programmierertätigkeit
TAIFUN Software AG

Eigenes Projekt Android App

Freie Arbeitseinteilung
Full transcript