firdaus
1 year ago
2 changed files with 163 additions and 0 deletions
@ -0,0 +1,111 @@ |
|||
# Mein Lerntagebuch für Programmiermethoden und -werkzeuge |
|||
|
|||
## SU 02 (31.10.2023) |
|||
|
|||
### Lernziel |
|||
|
|||
- Über verschiedene Programmierungen und |
|||
- Progremmmiersprachen |
|||
|
|||
### Erkenntnis |
|||
|
|||
Über 5 Arten der Programmierung, über 2 Arten der Programmiersprache sowie über die Prinzipien der Progrmmierung |
|||
haben wir in dieser VL einen Überblick erhalten. |
|||
|
|||
1. Die imperative Programmierung ist ein Paradigma, bei dem Anweisungen angegeben werden, die Schritt für Schritt |
|||
ausgeführt werden. |
|||
2. Die deklarative Programmierung ist ein Paradigma, bei dem beschrieben wird, was das Programm erreichen soll. |
|||
3. Die prozedurale Programmierung ergänzt die imperative Programmierung, bei der Code in Funktionen oder |
|||
Prozeduren organisiert wird. |
|||
4. Die objektorientierte Programmierung basiert auf Konzepten wie Klassen, Objekten und Vererbung. Der Code |
|||
wird in wiederverwendbare Objekte organisiert und ermöglicht die Modellierung von realen Entitäten. |
|||
5. Die funktionale Programmierung ist eine Verfeinerung der deklarativen Programmierung, bei der die |
|||
Verwendung von Funktionen als grundlegende Bausteine von Programmen sind. Sie unterstützt das Konzept der |
|||
funktionalen Unveränderlichkeit und vermeidet Seiteneffekte. |
|||
6. Typisierte Progrmmiersprachen erfordern, dass Variablen und Funktionen bestimmte Datentypen haben und dass |
|||
diese Typen während der Kompilierung überprüft werden. |
|||
7. Typenlose Programmiersparchen erlauben Variablen, verschiedene Datentypen ohne explizite Deklaration zu |
|||
halten. Der Datentyp einer Variable kann hier zur Laufzeit geändern werden. |
|||
8. Die Prinzipien der Programmierung beinhalten grundlegende Konzepte, um sauberen, wartbaren und effizienten |
|||
Code zu schreiben. Zu diesen Prinzipien gehören z.B. SOLID( Separations of Concern, Open/Closed Principle, |
|||
Lislov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle), STUPID( |
|||
Singelton, Tight Coupling, Untestability, Premature Optimization, Indescriptive Naming, Duplication), KISS( |
|||
Keep It Simple, Stupid). |
|||
|
|||
--- |
|||
|
|||
## SU 03 (07.11.2023) |
|||
|
|||
### Lernziel |
|||
|
|||
- Entwurfsmuster |
|||
- IDE |
|||
|
|||
### Erkenntnis |
|||
|
|||
Entwurfsmuster(Design Patterns) helfen, Code wiederverwendbar, flexibel und leicht verständlich |
|||
zu machen. |
|||
Es wurden 3 Kategorien von Entwurfsmustern wie Erzeugungsmuster, Strukturmuster und Verhaltensmuster |
|||
vorgestellt. |
|||
Erzeugungsmuster(Creational Patterns) beschäftigen sich mit dem Prozess der Objekterzeugung. |
|||
Strukturmuster beschäftigen sich mit der Komposition von Klassen oder Objekten. |
|||
Verhaltensmuster konzentrieren sich darauf, wie Klassen und Objekte zusammenarbeiten. |
|||
|
|||
Integrated Development Environment(IDE) ist eine Softwareanwendung, die eine integrierte Umgebung für |
|||
die Softwareentwicklung bereitstellt. |
|||
Die Auswahl einer IDE hängt von der unterstützten Plattformen und Sprachen ab. |
|||
Debugging in einer IDE hilft den Entwickler, Fehler zu finden und zu beheben, wodurch die Entwicklung |
|||
und Wartung von Software beschleunigt wird. |
|||
|
|||
--- |
|||
|
|||
## SU 04 (14.11.2023) |
|||
|
|||
### Lernziel |
|||
|
|||
- SCM(Source Code Management) |
|||
|
|||
### Erkenntnis |
|||
|
|||
Git bietet als SCM eine zuverlässige und geordnete Vorgehensweise für die Speicherung, den Zugriff, |
|||
die gemeinsame Nutzung und die Verfolgung von Änderungen am Quellcode. |
|||
|
|||
Es gibt Zentralisiertes vs. Verteiltes SCM. Der Verlauf vom zentralisierten SCM existiert auf einer |
|||
zentralen Netzwerkressource. Entwickler haben nur Arbeitskopien von Dateien. Beim verteilten SCM hat |
|||
jeder Entwickler seine eigene Geschichte. Jeder trägt seine eigenen Vor- und Nachteile. |
|||
|
|||
Das Konzept von Git basiert auf Änderungsmengen, nicht auf Dateien. |
|||
Wenn das komplette Projekt kompiliert ist und alle Tests bestanden wurden, kann es "commit" erfolgen. |
|||
Die Fähigkeiten, um Konflikte zu lösen, zu verbessern, werden kleine Commits bevorzugt. |
|||
|
|||
Es existieren Branches wie Master, Develop, Release, Hotfix und Feature. |
|||
Mater Branch entsteht aus dem ersten Commit, hat unendliche Lebensdauer. Commits sind mit einer Versionsnummer versehen. |
|||
Develop Branch ist immer im versandfähigen Zustand. Der erste Commit ist der Beginn des Projekts, hat auch unendliche Lebensdauer. |
|||
Release Branch ist für Korrekturen, hat begrenzte Lebensdauer während des Feature Freeze. Jeder Entwickler kann Commit machen. |
|||
Hotfix Branch wird von Master erzeugt, hat kurze Lebensdauer. Jeder Entwickler kann einen Commit machen. Keine neuen Funktionen, nur Fixes. |
|||
Feature Branch entsteht aus der Entwicklung, hat begrenzte Lebensdauer, sollte auf neue Commits in Develop zusammenführen. |
|||
Jeder Entwickler kann Commits machen, aber nur zugewiesene Entwickler. |
|||
|
|||
Merge bevorzugen, wenn der aktuelle Zweig Develop oder Master ist und die Historie mit der Timeline synchron bleiben soll sowie aktueller Zweig bereits zusammengeführt wurde. |
|||
Rebase bevorzugen, wenn man an einem unfertigen Feature arbeiten, das noch nicht in andere Zweige eingebunden wurde und wenn eine saubere Historie gewünscht ist. |
|||
|
|||
--- |
|||
|
|||
## SU 05 (28.11.2023) |
|||
|
|||
### Lernziel |
|||
|
|||
- Kooperation-SCM |
|||
|
|||
### Erkenntnis |
|||
|
|||
|
|||
--- |
|||
|
|||
## SU 06 (05.12.2023) |
|||
|
|||
### Lernziel |
|||
|
|||
- Kooperation-PM |
|||
|
|||
### Erkenntnis |
Write
Preview
Loading…
Cancel
Save
Reference in new issue