Programming style done.
This commit is contained in:
parent
4d6b30547b
commit
c456329e22
@ -128,12 +128,40 @@
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Was ist ein Program?}
|
||||
\frametitle{Und wo lebt es?}
|
||||
|
||||
\frametitle{Was ist ein Programm?}
|
||||
\framesubtitle{Und wo lebt es?}
|
||||
Ein Programm ist ...
|
||||
\begin{itemize}
|
||||
\item ... eine Sammlung von Anweisungen.
|
||||
\end{itemize}\pause
|
||||
Es lebt in ...
|
||||
\begin{itemize}
|
||||
\item ... einer Datei auf dem Rechner.
|
||||
\end{itemize}\pause
|
||||
Wenn es zum Leben erweckt wird...
|
||||
\begin{itemize}
|
||||
\item ... wird es Zeile fuer Zeile von oben nach unten ausgef\"urht.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{Was ist ein Programm?}
|
||||
\framesubtitle{In Matlab}
|
||||
\begin{itemize}
|
||||
\item Matlab kennt verschieden Arten von Programmen:
|
||||
\begin{enumerate}
|
||||
\item Skripte
|
||||
\item Funktionen
|
||||
\item Objekte (werden wir ignorieren)
|
||||
\end{enumerate}\pause
|
||||
\item Alle werden in sogenannte m-files gespeichert (z.B. \textit{meinProgramm.m}).
|
||||
\item Koennen dann von der Kommandozeile aufgerufen werden.
|
||||
\item Programme erhoehen die Wiederverwertbarkeit von Programmcode.
|
||||
\item Programme koennen andere Programme aufrufen.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
|
||||
\begin{frame}[plain]
|
||||
\huge{2. Skripte und Funktionen}
|
||||
\end{frame}
|
||||
@ -154,10 +182,57 @@
|
||||
Eingangs und Ausgangsargumente
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
\frametitle{}
|
||||
\framesubtitle{}
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Skripte und Funktionen}
|
||||
\framesubtitle{Programmierstil}
|
||||
Programmierstil ist:
|
||||
\begin{enumerate}
|
||||
\item Die Namensgebung fuer Variablen und Konstanten.
|
||||
\item Die Namensgebung von Skripten und Funktionen.
|
||||
\item Die Verwendung von Einr\"uckungen und Leerzeilen um Bl\"ocke im Code hervorzuheben.
|
||||
\item Verwendung von Kommentaren und Hilfetexten.
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Skripte und Funktionen}
|
||||
\framesubtitle{Programmierstil}
|
||||
In verschiednen Sprachen verschiedene Konventionen. In MATLAB ...
|
||||
\begin{itemize}
|
||||
\item Funktionen, Skripte: Kleinbuchstaben, Abk\"urzungen. (z.B. \verb+xcorr+, \verb+repmat+)
|
||||
\item Konvertierungen immer mit format2format (z.B. \verb+num2str+)
|
||||
\item Variablen immer klein, h\"aufig Abk\"urzungen.
|
||||
\item Kommentare h\"aufig fuer interne Zwecke aber ausf\"uhrliche Dokumentation mit Hilftexten.
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Skripte und Funktionen} \framesubtitle{Programmierstil}
|
||||
Es gibt verschiedene ''Religionen''. Ein m\"ogliches Credo k\"onnte
|
||||
sein: \\
|
||||
\textbf{``Programmcode muss lesbar sein.''}\pause
|
||||
\begin{enumerate}
|
||||
\item Variablen werden klein geschrieben. Wenn n\"otig entweder im
|
||||
\textit{camelCase} oder mit Unterstrichen (z.B. \verb+spikeCount+
|
||||
oder \verb+spike\_count+).
|
||||
\item Funktionen und Skripte mit ausdrucksstarken Namen (z.B. \verb+loadSpikeData+).
|
||||
\item Kommentare sparsam. Eventuell um Abschnitte zu trennen.
|
||||
\item Hilfetexte: Ein Problem; sie m\"ussen aktuell sein sonst sind
|
||||
sie sch\"adlicher als wenn sie gar nicht da w\"aren.
|
||||
\item Einr\"uckung ist Pflicht.
|
||||
\item Bl\"ocke im Code werden durch 1 Leerzeichen getrennt.
|
||||
\end{enumerate}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]
|
||||
\frametitle{Skripte und Funktionen} \framesubtitle{Programmierstil}
|
||||
Ihr d\"urft all das missachten aber:\\
|
||||
|
||||
\vspace{2em}
|
||||
\huge{Bleibt konsitent!}\pause
|
||||
\vspace{4em}
|
||||
Es gibt dazu ganze B\"ucher. z.B. Robert C. Martin: \textit{Clean
|
||||
Code: A Handbook of Agile Software Craftmanship}, Prentice Hall
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}
|
||||
|
Reference in New Issue
Block a user