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