Diese Fragen dienen der persönlichen Beschäftigung mit der Thematik, werden aber nicht separat in der Vorlesung besprochen.
Die Bedeutung von Syntaxhervorhebung in Quellcode lässt sich am Besten mit einem Beispiel verdeutlichen. Es handelt sich bei den nachfolgenden Codeausschnitten um realen Code aus der Feder des Autors.
Beispiel ohne Syntaxhervorhebung
def redo(self): """Reapply previously undone processing step. Raises ------ RedoAlreadyAtLatestChangeError Raised when trying to redo with empty history """ if self._history_pointer == len(self.history) - 1: raise RedoAlreadyAtLatestChangeError processing_step_record = \ self.history[self._history_pointer + 1].processing processing_step = \ processing_step_record.create_processing_step() processing_step.process(self) self._increment_history_pointer()
Beispiel mit Syntax-Hervorhebung
def redo(self): """Reapply previously undone processing step. Raises ------ RedoAlreadyAtLatestChangeError Raised when trying to redo with empty history """ if self._history_pointer == len(self.history) - 1: raise RedoAlreadyAtLatestChangeError processing_step_record = \ self.history[self._history_pointer + 1].processing processing_step = \ processing_step_record.create_processing_step() processing_step.process(self) self._increment_history_pointer()
Der Quellcode mit Syntax-Hervorhebung ist eindeutig besser lesbar, und ein guter Editor bzw. eine IDE wird meist noch weitere Elemente hervorheben, als das hier aufgrund der eingeschränkten Unterstützung möglich ist.
Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.
Die Metapher aus dem Handwerk mit den gut gewählten grundlegenden Werkzeugen und ihrer entsprechenden Beherrschung stammt aus [Hunt, 1999Hunt, Andrew; Thomas, David (1999): The Pragmatic Programmer, Addison-Wesley, Boston]. Weitere hilfreiche Hinweise zu Werkzeugen allgemein und zu Editoren und IDEs im Speziellen finden sich in Kapitel 20 von [Passig, 2013Passig, Kathrin; Jander, Johannes (2013): Weniger schlecht programmieren, O'Reilly, Heidelberg]. Eine lange Liste von Eigenschaften guter IDEs über die grundlegenden Textverarbeitungsfunktionen hinaus findet sich in [McConnell, 2004McConnell, Steve (2004): Code Complete. A practical handbook of software construction, Microsoft Press, Redmond, Washington], S. 710f. Allerdings sei hier dazugesagt, dass viele dieser Eigenschaften auch in besseren Editoren vorhanden und wenige spezifisch für IDEs im eigentlichen Sinn sind.
Ein sehr UNIX-zentrierter Ansatz findet sich in den Abschnitten 13.2 und 15.2 von [Raymond, 2004Raymond, Eric S. (2004): The Art of UNIX Programming, Addison Wesley, Boston]. Auch wenn viele Entwickler heute nicht mehr unbedingt auf die Idee kommen, mit vi oder Emacs programmieren zu wollen, lohnt es allemal, sich die dort festgehaltenen Ideen anzuschauen.