diff --git a/programmingstyle/lecture/programmingstyle.tex b/programmingstyle/lecture/programmingstyle.tex index ca5e0bd..8e634ab 100644 --- a/programmingstyle/lecture/programmingstyle.tex +++ b/programmingstyle/lecture/programmingstyle.tex @@ -8,7 +8,7 @@ machen. Programme sollten so geschrieben und strukturiert sein, dass es sowohl einem Au{\ss}enstehenden als auch einem selbst, nach ein paar Monaten, leicht f\"allt den Programmablauf nachzuvollziehen und zu -verstehen. Guter Programmierstil zahlt sich auch f\"ur den Sch\"opfer +verstehen. Saubere Programmierung zahlt sich auch f\"ur den Sch\"opfer eines Programmes aus. Guter Programmierstil greift auf unterschiedlichen Ebenen an: @@ -73,14 +73,34 @@ aktuellen Ordner nach passenden Dateien sucht (mehr Information in Box \begin{ibox}[t]{\label{matlabpathbox}Der \matlab{} Suchpfad} - - \begin{itemize} - \item Suchpfad, was soll das. - \item Reihenfolge. - \item \"Andern des Pfades. - \end{itemize} + Der Suchpfad definiert, wo \matlab{} nach Skripten und Funktionen + sucht. Wird eine Funktion aufgerufen wird zun\"achst im aktuellen + Arbeitsverzeichnis einem Treffer gesucht. Schl\"agt diese Suche + fehl, so arbeitet sich \matlab{} durch den \codeterm{Suchpfad} + (siehe Abbildung). Der \codeterm{Suchpfad} ist eine Liste von + Ordnern in denen \matlab{} nach Funktionen und Skripten suchen + soll. Die Suche nach der aufgerufenen Funktion wird dabei von oben + nach unten durchgef\"uhrt. Das heisst, dass es, bei + Namensgleichheit, eine Rolle spielen kann an welcher Stelle im + Suchpfad der erste Treffer gefunden wird. Wichtig: \matlab{} sucht + nicht rekursiv! Wenn die gew\"unschte Funktion in einem Unterordner + des aktuellen Arbeitsverzeichnisses liegt, dieses aber nicht + explizit im Suchpfad enthalten ist, so wird die Funktion nicht + gefunden werden. \includegraphics[width=0.75\textwidth]{search_path} + + Man kann den Suchpfad sowohl \"uber die in der Abbildung gezeigte + GUI oder auch \"uber die Kommandozeile editieren. In der GUI hat man + die M\"oglichkeit Ordner aus dem Suchpfad zu entfernen, neue Ordner + (optional inklusive aller Unterordner) hinzuzuf\"ugen oder die + Reihenfolge zu ver\"andern. + + Will man das aktuelle Arbeitsverzeichis wechseln benutzt man das + Kommando \code{cd}, um herauszufinden, in welchem Pfad eine + bestimmte Funktion gefunden wurde, benutzt man das Kommando + \code{which}. Der das aktuelle Areitsverzeichnis wird durch den + Aufruf \code{pwd} auf der Kommandozeile ausgegeben. \end{ibox} \section{Namensgebung von Funktionen und Skripten}