Improved indices
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user