Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gregorbiswanger/livestreamrefactoring
Infos zum Thema Refactoring aus meinem Live-Stream auf Twitch: My Coding Zone (https://twitch.tv/GregorBiswanger).
https://github.com/gregorbiswanger/livestreamrefactoring
Last synced: 11 days ago
JSON representation
Infos zum Thema Refactoring aus meinem Live-Stream auf Twitch: My Coding Zone (https://twitch.tv/GregorBiswanger).
- Host: GitHub
- URL: https://github.com/gregorbiswanger/livestreamrefactoring
- Owner: GregorBiswanger
- License: mit
- Created: 2022-11-16T14:01:20.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-16T14:06:55.000Z (about 2 years ago)
- Last Synced: 2024-10-06T05:21:14.359Z (3 months ago)
- Size: 1000 Bytes
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Was ist Refactoring
Refactoring ist die Verbesserung der Struktur eines Codes ohne dessen Verhalten zu ändern. Es ist ein Prozess, der die Qualität des Codes verbessert, indem er ihn verständlicher, wartbarer und flexibler macht. Refactoring ist ein kontinuierlicher Prozess, der sich auf die Verbesserung der Codequalität konzentriert, ohne neue Funktionen hinzuzufügen.
- Strukturverbesserung von Quellcode unter Beibehaltung des Programmverhaltens
- Vebessert: Lesbarkeit, Wartbarkeit, Flexibilität, Testbarkeit und Erweiterbarkeit.
- Ziel den Aufwand für die Fehleranalyse und funktionale Erweiterungen deutlich zu senken (Reduzierung von technischen Schulden)## Die wichtigste Basis vom Refactoring
- Versionsverwaltung
- Unit-Tests / E2E-Tests## Wichtig vor dem Refactoring
- Plan haben
- Unit-Tests (Hilft auch beim verstehen vom Code - ala Smoke Tests, Blackbox Tests)## Refactoring Plan
- Problem ermitteln
- Eigene Probleme analysieren (Brauche zu Lange für ein neues Feature, Bug-Fixing..)
- Code Komplexität messen mit Tools (Zyklomatische Komplexität, Code Analysis, Code Metrics)
- Code wiederholungen ermitteln
- Ziel definieren
- Wie soll die neue Architektur aussehen
- Was soll verbessert werden
- Clean-Code
- Code Smells beseitigen
- Prinzipien einbringen (z.B. SOLID, KISS, DRY, YAGNI, GRASP, ...)
- Risiko analyse
- Was kann schief gehen
- Plannung
- Wann und wie kann es umgesetzt werden
- Wo sind "Baby steps" möglich
(Lieber mit dem kleinen beginnen, das erleichtert of das ganz Große)## Wichtig beim Refactoring
- Micro commits
- Permanent Unit-Tests ausführen
- Baby steps## Tools Unterstützen beim Refactoring
- ReSharper / Plugins
- Visual Studio 2022 selbst
- Architecture Tools (VS2022 Enterprise)
- Code Metrics
- Code Analysis
- NDepend (Kostet Geld)## Dauerhaft die Qualität einhalten
- Automatisiert Probleme ermitteln (IDE Tools, CI)
- Mit TDD/BDD arbeiten
- Muss e2e / integrationstest
- Pfadfinderregel berücksichtigen