firdaus
1 year ago
2 changed files with 18 additions and 129 deletions
@ -1,111 +0,0 @@ |
|||||
# 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