Refaktoren (Refaktoren), Lektion, Seite 723667
https://www.purl.org/stefan_ram/pub/refaktoren_programmieren (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram
Java-Kurs

Refaktoren in Java 

Die folgenden beiden Programme erzeugen dieselbe Ausgabe.

Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( "12" ); }}
java.lang.System.out
12
Main.java
public final class Main
{ public static void main( final java.lang.String[] args )
{ java.lang.System.out.println
( 12 ); }}
java.lang.System.out
12

Eine benannten Anleitung zum Überarbeiten eines Quelltextes, so daß man die Überarbeitung durch Starten des Programmes („von außen“) nicht erkennen kann nennt man einen Refaktor. Der folgende Refaktor beschreibt den Übergang vom ersten Programm zum zweiten:

Refaktor
Entfernen überflüssiger Anführungszeichen
Die Anführungszeichen eines Zeichenfolgenliterals können entfernt werden, wenn dies nur wenige Ziffern enthält, die mit dem Ausdruckrahmen ausgegeben werden sollen.

Insbesondere denkt man bei einem Refaktor an eine Anleitung zur Überarbeitung eines bereits korrekten Programms, bei der die Verständlichkeit des Quelltexts für Programmierer verbessert  wird.

Man könnte den zweiten Quelltext als etwas besser  ansehen als den ersten Quelltext, da er kürzer  ist.

Ein etwas allgemeinere Definition von „Refaktor“

Ein Program, das eine zufällige Zahl ausgeben soll, hat (fast) immer eine andere Ausgabe, so daß hier kein Refaktor möglich wäre, da das Programm nach jeder Änderung  eine andere Ausgabe erzeugt. Daher definieren wir „Refaktor“ tatsächlich folgendermaßen:

Wir gehen davon aus, daß ein Programm eine Spezifikation  hat, welche besagt, wie sich das Programm unter gewissen Umständen verhalten  soll.

Ein Refaktor  ist eine Änderung an einem Programm, das seine Spezifikation sowohl vor als auch nach der Anwendung des Refaktors erfüllt.

Wenn die Spezifikation beispielsweise besagt, daß ein Programm eine zufällige Zahl mit 16 Nachkommastellen zwischen 0 und 1 ausgeben soll, dann sollte das Programm dies vor und nach dem Refaktor tun. (Der Beweis, daß dies so ist, erfolgt dabei weniger durch Beobachtung des Verhaltens als durch Analyse des Quelltextes.)

Stil

Wenn zwei Programme beide die Anforderungen erfüllen, dann ist die Wahl zwischen ihnen eine Frage des Stils. Unter „Stil “ versteht man beim Programmieren Regeln zur Wahl eines Quelltextes unter verschiedenen Quelltexten, die alle korrekt sind, also alle die Anforderungen erfüllen.

Stilregel Wenn es keine gewichtigeren Gründe für eine andere Entscheidung gibt, sollte von zwei Quelltexten, welche beide dieselbe Aufgabe lösen, der kürzere  bevorzugt werden.

Niederschrift von Refaktoren *

Viele Refaktoren sind unter bestimmten kurzen Namen  bekannt. Den obigen Refaktor könnte man beispielsweise „Entfernen von Anführungszeichen “ nennen.

Ein Refaktor sollte mindestens folgende Teile umfassen:

Refaktor
Name
   Anführungszeichen um Numerale löschen
Voraussetzung
   Der Wert eines Zeichenfolgenliterals, das aus einem Numerale in Anführungszeichen besteht, wird ausgegeben.
Anleitung
   Die Anführungszeichen vor und hinter dem Numerale werden entfernt.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram723667 stefan_ram:723667 Refaktoren Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd723667, slrprddef723667, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/refaktoren_programmieren