01_ide_handout_Z Flashcards

1
Q

Warum sind Programmierstile wichtig?

A

Programmierstile sind wichtig, weil sie die Softwarequalität verbessern, die Verständlichkeit und Wartbarkeit des Codes erhöhen, die Zusammenarbeit im Team erleichtern, vermeidbare Fehlerquellen minimieren und die Wartung von Software erleichtern. Ein konsistenter Stil hilft dabei, dass der Code von verschiedenen Entwicklern gelesen und verstanden werden kann, was besonders in großen Projekten und Teams von Vorteil ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Nenne zwei Beispiele für Programmierstile.

A

GNU Coding Standards und Linux Kernel Coding Style sind zwei Beispiele für Programmierstile. Diese Standards definieren spezifische Regeln und Richtlinien für das Schreiben von Code in Bezug auf Formatierung, Benennungskonventionen und andere Aspekte der Codierungspraxis.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist eine integrierte Entwicklungsumgebung (IDE)?

A

Eine integrierte Entwicklungsumgebung (IDE) ist eine Sammlung von Computerprogrammen unter einer gemeinsamen Oberfläche, die die Softwareentwicklung ohne Medienbrüche ermöglicht. Sie bietet Tools wie Code-Editor, Compiler, Debugger und andere Entwicklungswerkzeuge in einer einzigen Anwendung, um den Entwicklungsprozess zu erleichtern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Komfortfunktionen bietet eine IDE?

A

Eine IDE bietet Komfortfunktionen wie Integration der Toolchain, Verwaltung von Quellcode-Dateien, automatisches Buildsystem, Syntax-Highlighting, Autovervollständigung, Navigationshilfen und Integration eines Linters (statische Codeanalyse). Diese Funktionen helfen Entwicklern, effizienter zu arbeiten und die Qualität des Codes zu verbessern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie funktioniert der Compiler-Workflow bei mehreren Quellcode-Dateien?

A

Beim Compiler-Workflow wird jede Quellcode-Datei unabhängig kompiliert. Der Linker führt anschließend alle kompilierten Dateien zusammen, um das endgültige ausführbare Programm zu erstellen. Dies ermöglicht eine modulare Entwicklung, bei der Änderungen in einer Datei nicht die gesamte Codebasis betreffen müssen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was ist der Unterschied zwischen Deklaration und Definition?

A

Eine Deklaration teilt dem Compiler die Funktionssignatur mit und ist zur Existenzprüfung der Funktion nötig. Eine Definition teilt dem Compiler die Implementierung mit und ist zur Erstellung des Maschinencodes erforderlich. In C/C++ werden Deklarationen oft in Header-Dateien (.h) ausgelagert, während Definitionen in Quellcode-Dateien (.c/.cpp) stehen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was sind Header-Dateien und wie werden sie verwendet?

A

Header-Dateien (.h) enthalten Deklarationen von Funktionen, Variablen und anderen Elementen, die in mehreren Quellcode-Dateien verwendet werden. Sie werden mit der Direktive #include in Quellcode-Dateien eingebunden. Dies ermöglicht die Wiederverwendung von Deklarationen und fördert die Modularität des Codes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist eine Forward-Deklaration und warum wird sie verwendet?

A

Eine Forward-Deklaration ermöglicht die Verwendung einer Funktion oder einer Klasse vor deren eigentlicher Definition. Sie wird verwendet, um Abhängigkeiten zwischen verschiedenen Dateien und Funktionen zu handhaben und um rekursive Abhängigkeiten zu vermeiden, die normalerweise zu Fehlern beim Kompilieren führen würden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche Herausforderungen gibt es bei der Entwicklung auf mehreren Plattformen?

A

Herausforderungen bei der plattformübergreifenden Entwicklung umfassen unterschiedliche Kodierungen (Zeilenumbrüche und Zeichensätze) und unterschiedliche Versionen der Toolchain. Diese Unterschiede können zu Kompatibilitätsproblemen und unerwartetem Verhalten des Codes führen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Unterschiede gibt es bei den Zeilenumbrüchen auf verschiedenen Betriebssystemen?

A

Unterschiedliche Betriebssysteme verwenden verschiedene Zeilenumbrüche: - Linux/Unix/macOS: \n - Windows: \r\n - Alte MacOS Versionen: \r Diese Unterschiede müssen beim plattformübergreifenden Arbeiten berücksichtigt werden, um Dateiformatprobleme zu vermeiden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Zeichensätze werden typischerweise auf verschiedenen Betriebssystemen verwendet?

A

Typischerweise werden folgende Zeichensätze verwendet: - Linux/Unix: UTF-8 - Windows: Windows-1252 (weitgehend kompatibel mit ISO 8859-1, intern UTF-16) Diese Zeichensätze beeinflussen, wie Zeichen in Dateien codiert und interpretiert werden, was wichtig für die Interoperabilität zwischen Systemen ist.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Warum ist es wichtig, die verwendeten Versionen der Toolchain zu überprüfen?

A

Es ist wichtig, die verwendeten Versionen der Toolchain zu überprüfen, weil Unterschiede in Compiler- und Linker-Verhalten je nach Version auftreten können. Diese Unterschiede können zu Inkompatibilitäten und unerwartetem Verhalten des Codes führen, insbesondere bei plattformübergreifender Entwicklung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche spezifischen Probleme können mit GCC auftreten?

A

Mit GCC können spezifische Probleme wie die unterschiedliche Handhabung der Reihenfolge von Codedateien und Bibliotheken auftreten. Diese Unterschiede können zu Linker-Fehlern oder unerwartetem Verhalten des Programms führen, wenn die Reihenfolge nicht korrekt eingehalten wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly