Improved indices

This commit is contained in:
2015-11-23 11:00:19 +01:00
parent 993ab5d8e7
commit 3225b28be4
12 changed files with 203 additions and 176 deletions

View File

@@ -302,7 +302,7 @@ ob dieser Teil des Programms nicht in eine eigene Funktion ausgelagert
werden sollte. Fast immer kann dies bejaht werden.
Abschnitte nicht auszulagern f\"uhrt zu sehr langen
\codeterm{m-Files}, die leicht un\"ubersichtlich werden. Diese Art von
\codeterm{m-files}, die leicht un\"ubersichtlich werden. Diese Art von
Code wird \codeterm{Spaghetticode} genannt. Es ist h\"ochste Zeit
\"uber Auslagerung in Funktionen nachzudenken.
@@ -318,25 +318,28 @@ Code wird \codeterm{Spaghetticode} genannt. Es ist h\"ochste Zeit
\subsection{Lokale Funktionen und geschachtelte Funktionen}
Das Auslagern von Funktionalit\"at in eigene Funktionen f\"uhrt
dazu, dass eine F\"ulle von Dateien erzeugt wird, die die
Das Auslagern von Funktionalit\"at in eigene Funktionen f\"uhrt dazu,
dass eine F\"ulle von Dateien erzeugt wird, die die
\"Ubersichtlichkeit nicht unbedingt erh\"oht. Wenn die auszulagernde
Funktionalit\"at an vielen Stellen ben\"otigt wird ist es
dennoch sinnvoll dies zu tun. Wenn nicht, dann bietet \matlab{} die
M\"oglichkeit sogenannte \codeterm{lokale Funktionen} oder auch
\codeterm{geschachtelte Funktionen} (\enterm{nested functions}) zu
erstellen. Listing \ref{localfunctions} zeigt ein Beispiel f\"ur eine
lokale Funktion.
Funktionalit\"at an vielen Stellen ben\"otigt wird ist es dennoch
sinnvoll dies zu tun. Wenn nicht, dann bietet \matlab{} die
M\"oglichkeit sogenannte \codeterm[Funktion!lokale]{lokale Funktionen}
oder auch \codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelte
Funktionen} (\enterm{nested functions}) zu erstellen. Listing
\ref{localfunctions} zeigt ein Beispiel f\"ur eine lokale Funktion.
\lstinputlisting[label=localfunctions, caption={Lokale Funktionen erh\"ohen die Lesbarkeit sind aber nur innerhalb der definierenden Datei verf\"ugbar.}]{calculate_sines.m}
\lstinputlisting[label=localfunctions, caption={Lokale Funktionen
erh\"ohen die Lesbarkeit sind aber nur innerhalb der definierenden
Datei verf\"ugbar.}]{calculate_sines.m}
Lokale Funktionen existieren in der gleichen Datei und sind nur dort
verf\"ugbar. Jede Funktion hat ihren eigenen G\"ultigkeitsbereich, das
hei{\ss}t, dass Variablen aus den aufrufenden Funktionen nicht
sichtbar sind. Bei sogenannten \codeterm[geschachtelte Funktionen]{geschachtelten Funktionen}
ist das anders. Diese werden innerhalb eines Funktionsk\"orpers
(zwischen den Schl\"usselworten \code{function} und dem
\code{end} definiert und k\"onnen auf alle Variablen der
sichtbar sind. Bei sogenannten
\codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelten
Funktionen} ist das anders. Diese werden innerhalb eines
Funktionsk\"orpers (zwischen den Schl\"usselworten \code{function} und
dem \code{end} definiert und k\"onnen auf alle Variablen der
``Mutterfunktion'' zugreifen und diese auch ver\"andern. Folglich
sollten sie nur mit Bedacht eingesetzt werden.
@@ -403,8 +406,11 @@ diese sollten dann beachtet werden.
Wiederholte Programmabschnitte sollten in Funktionen ausgelagert
werden. Wenn diese nicht von globalem Interesse sind, kann mit
\codeterm{lokalen} oder \codeterm{geschachtelten Funktionen} die
\"Ubersichtlichkeit erh\"oht werden.
\codeterm[Funktion!lokale]{lokalen} oder
\codeterm[Funktion!geschachtelte|see{lokale}]{geschachtelten
Funktionen} die \"Ubersichtlichkeit erh\"oht werden.
\noindent Es lohnt sich auf den eigenen Programmierstil zu achten!\footnote{Literatur zum Programmierstil: z.B. Robert C. Martin: \textit{Clean
Code: A Handbook of Agile Software Craftmanship}, Prentice Hall}
\noindent Es lohnt sich auf den eigenen Programmierstil zu
achten!\footnote{Literatur zum Programmierstil: z.B. Robert C. Martin:
\textit{Clean Code: A Handbook of Agile Software Craftmanship},
Prentice Hall}