diff --git a/Lerntagebuch.md b/Lerntagebuch.md index 2b11306..e5fd982 100644 --- a/Lerntagebuch.md +++ b/Lerntagebuch.md @@ -22,4 +22,48 @@ (Not enough experience) --- -## SU 02 (28.10.2021) +## SU 02 (31.10.2023) + +### Takeaway +- Programming paradigms: + - Imperative programming + - A programming paradigm that describes how to change a state. + - Declarative programming + - A programming paradigm that describes what to do, not how to do it. + - Procedural programming + - A programming paradigm that breaks down a task into a sequence of steps. + - Object-oriented programming + - A programming paradigm that models the real world as objects that interact with each other. + - Functional programming + - A programming paradigm that relies on the evaluation of mathematical functions. + - Typed programming languages + - Programming languages that assign types to variables and expressions. + - Untyped programming language + - Programming languages that do not assign types to variables and expressions. + - Programming principles: + - Programming principles are general guidelines for writing good code. They can help make code more efficient, easier to maintain, and more reliable. + - SOLID principles: The SOLID principles are a set of five principles that are widely accepted as being good practice in object-oriented programming. They can help make code more modular, reusable, and maintainable. + - STUPID principles: The STUPID principles are a set of six bad practices that can make code more difficult to write, test, and maintain. They should be avoided whenever possible. + - In addition to the SOLID and STUPID principles, there are many other programming principles that can be helpful. Some of these principles include: + - KISS: Keep It Simple, Stupid + - FCoH: Favor Composition over Inheritance + - SLA: Single Layer of Abstraction + - YAGNI: You Ain't Gonna Need It + - IOC: Inversion of Control + - DI: Dependency Injection + +### Perception + +**Programming principles** + + I will apply SOLID principles and avoid STUPID principles to my group project to ensure that my code is modular, reusable, maintainable, and easy to write, test, and maintain. I will also use design patterns and best practices to implement the principles effectively. + +### Repetition + + Programming pragmatism is the practice of prioritizing practical solutions over theoretical perfection. It is the belief that the best solution to a problem is the one that works, even if it is not the most elegant or efficient. + +### Feedback + + +--- +## SU 02 (1.11.2023)