# Einleitung und Motivation - Definition von Refactoring - Wann ist Refactoring notwendig? - Warum ist Refactoring wichtig? - Was sind Design Pattern? - Was ist Clean Code? # Grundprinzipien des Refactoring - DRY (Dont Repeat Yourself) - KISS (Keep It Simple, Stupid) - YAGNI (You Aint Gonna Need It) # Die schlechten Gerche ( Code Smells ) im Programmcode - Code Smells erkennen - bersicht ber hufige Code-Smells - Software-Metriken - Clean Code # Refactoring-Werkzeuge - Vorstellung von Refactoring-Werkzeugen nach vorheriger Absprache / in Abhngigkeit von der gewnschten Programmiersprache - z.B. Refactoring mit Visual Studio - z.B. Refactoring mit Resharper - z.B. Refactoring mit Eclipse - z.B. Refactoring mit IntelliJ # Refactoring und automatisiertes Testen - Notwendigkeit von automatisierten Unit-Tests - Unit Testing und Test Driven Development im Rahmen des Refactorings # Refactoring in der Praxis: Die wichtigsten Refactoringverfahren - Umbennungen / Namenskonventionen definieren und einhalten - Klassen aufteilen - Methoden aufteilen - Den Kontrollfluss vereinfachen - Bedingungen optimieren - Code zwischen Klassen verschieben - Vereinfachungen komplexer Ausdrcke - Vereinfachungen von Methoden-Aufrufen - Klassenhierarchien und Objektbeziehungen verbessern - Primitive Daten durch Objekte ersetzen - Verwendung von Generics/Templates - Refactoring in Bezug auf gngige Design Patterns - Weitere Verfahren aus dem Refactoring-Katalog von Martin Fowler # Prozessintegration - Integration von Refactoring in den agilen Entwicklungsprozess - Integration von Refactoring in Code-Reviews - Feedback-Verfahren fr refaktorierten Code
# Einleitung - Begriffsklrung: Was sind Design Pattern? - Sinn und Einsatz von Pattern - Die Gang of Four (GoF) und Robert Cecil Martin ( Uncle Bob ) # Best Practices und Design Prinzipien - Kapselung - Loose Kopplung - Kohrenz # Objektorienti
zum Artikel gehen# Tag 1: Analyse Ihres Codes # Tag 2 bis 3: Refactoring vs. Greenfield - Klassische Probleme mit Legacy Code - Herausforderungen bei Greenfield - Refactoring als Alternative Patterns und Anti-Patterns - Klassische Anti-Patterns in Legacy C
zum Artikel gehenberblick ber Architektur, Techniken und Werkzeuge zur Entwicklung von Android-Apps - Kerndienste und Schichten - Einschrnkungen von Android und Lsungsstrategien Entwicklungsumgebung - Hardwarevoraussetzungen - Android Studio (auf Wunsch auch die al
zum Artikel gehen- berlebens-Kit fr den Umgang mit Node.js und NPM (notwendig, da alle Tools rund um Angular auf Node.js aufbauen) - Kurzeinfhrung in TypeScript mit Wiederholung der wichtigsten JavaScript-Konzepte (Annahme: Alle Teilnehmerinnen und Teilnehmer haben Java
zum Artikel gehen# .NET - Einfhrung in die .NET-Plattform - Varianten von .NET (.NET Framework, .NET Core, .NET MAUI usw) - Dienste der .NET-Laufzeitumgebung (Exception Handling, Memory Management, Garbage Collection, etc.) - Begriffsentsprechungen in der Java-Welt
zum Artikel gehen