Improve Your Code

Aus Legacy Code Clean Code Zaubern!

Sie möchten einen bestehenden Legacy Code nicht von Anfang an neu entwickeln, sondern ihn lieber verstehen lernen und anpassen können? Dann besuchen Sie unser Improve Your Code Seminar und lernen Sie den Code zu lesen, zu verstehen und anzupassen...

Beschreibung

Das Improve Your Code Seminar der Coding Akademie München ist ideal für Entwickler mit grundlegenden Java Kenntnissen, die in einem laufenden Projekt mit Legacy Code arbeiten. Oder für alle, die ein bestehendes Projekt ohne Test-Suite oder JUnit Test betreuen. Er orientiert sich am Standardwerk „Working with Legacy Code“ von Michael C. Feathers.
Im Rahmen des dreitägigen Seminars beleuchten wir den generell schwerer zu testenden Legacy Code. Schließlich liegen die Gründe dafür meist im Verborgenen. Entweder ist kein JUnit Test für diesen Code vorhanden. Oder der vorhandene JUnit Test reicht nicht aus. Beziehungsweise deckt er nicht alle relevanten Fälle ab. Da kommt dem ein oder anderen Programmierer der Gedanke, das ganze Projekt neu zu programmieren. Was aber nur in den allerwenigsten Fällen notwendig ist. Denn oft sind die Projekte sehr groß, komplex und die daraus entstehende Software wird bereits vermarktet. Das macht es unmöglich, den Code komplett neu und sauber aufzusetzen.

Genau hier setzen wir mit unserem Legacy Code Seminar an. Während den drei Tagen schreiben Sie Schritt für Schritt bestimmte Tests für die entsprechenden Module. Das sichert Sie und Ihr Projekt ab und lässt Sie in Ruhe den Code verändern, anpassen und mit Clean Code Regeln in einen deutlich besseren Zustand bringen. Ihre Software wird dadurch von Tag zu Tag besser. Ihre Code Qualität steigt. Änderungen und Anpassungen werden einfacher. Und Sie behalten den ursprünglichen Code bei, was eine reibungslose und sichere Funktion der Anwendung garantiert. 

Selbstverständlich schreiben Sie den Java Test und die Codes unter Anleitung ausgewiesener Fachexperten und renommierten Java Trainern, die an den besten Hochschulen des Landes referieren. Das sichert Sie ab und lässt Sie spielerisch die Kniffe des Legacy Codes verstehen. Mitverantwortlich für dieses gute Gefühl ist auch das angenehme Umfeld in unserem modernen Schulungszentrum. Es liegt im Zentrum Münchens und ist bequem mit dem Auto oder den öffentlichen Verkehrsmitteln erreichbar. Sind Sie einmal da, dürfen Sie sich auf State-of-the-art Rechner freuen – genauso wie auf leckere Snacks und Getränke, die während Ihres Legacy Code Seminars auf Sie warten.

Vorteile

Nutzen & Vorteile des Improve Your Code Seminars

  • Sichere Weiterentwicklung und Anpassung von bestehenden alten Projekten
  • Test-Suite anlegen anstelle einer komplett neuen Entwicklung
  • Bestehenden Code einfach modifizieren lernen
  • Legacy Code Techniken für kürzere Einarbeitungs- und Entwicklungszeit 
  • Test-Suite ermöglicht flexible Änderungen ohne Risiko
  • Automatische Testberichte als Qualitätsmerkmal Ihres Codes

Inhalte

Die Improve Your Code Seminar Inhalte

  • Reasons to Change Software
  • Working with Feedback
  • Refactoring Patterns 
  • Changing Software 
  • Adding a Feature
  • Get a Class into a Test Harness
  • Run a Method in a Test Harness
  • What Methods should I Test?
  • Need to Make a Change
  • Breaking Monster Class
  • Changing Monster Method
  • Dependency-Breaking Techniques
  • Over 15 Workshop
  • Final  Project 

 

Ausführliche Themen finden Sie unten unterAGENDA

Ziele

Nach dem Improve Your Code Seminar in München werden Sie 

  • Legacy Code erkennen
  • JUnit und TDD Grundlagen beherrschen
  • Die wichtigen Refactoring Patterns lernen
  • Regeln zum Arbeiten mit Legacy Code verinnerlicht haben
  • Test Techniken für Legacy Code besitzen
  • Legacy Code verbessern, anpassen, erweitern können

Zielgruppe

Das Improve Your Code Seminar wurde für Software-Entwickler und Programmierer mit soliden und guten Java Kenntnissen konzipiert. Am besten haben Sie im Vorfeld unseren Java Grundkurs, unser Java Aufbauseminar oder eines unserer Clean Code Seminare besucht. Oder Sie arbeiten seit längerem als Java Entwickler

Die Trainer

Einer der folgendern Trainer wird das Improve Your Code Seminar durchführen:

Trainer: Allaithy Raed

Allaithy Raed

Java Trainer, Coach, Consultant und Geschäftsführer
Experte für Java, Python, Clean Code, Clean SW-Architektur, Refactoring, Testing, Train The Trainer

Mehr Infos

Trainer: Dr. Matthias Hölzl

Dr. Matthias Hölzl

Ehemaliger Professor für Software and Computational Systems Engineering an der LMU München
Experte für Python, Java, C++, JavaScript, Clean Architektur, Künstliche Intelligenz, Agile Methoden

Mehr Infos

Agenda

Die Agenda für Refactoring Legacy Code Kurs ist aufgrund der zahlreichen Fachbegriffe in Englisch abgebildet. Beschreibungen sowie Kursmaterial erhalten Sie in Deutsch. Den Improve Your Code Kurs können Sie wahlweise in Deutsch oder Englisch buchen.

Alle Seminarinhalte werden individuell an die Wünsche unserer Teilnehmer angepasst. 

Sie können je nach Wissensstand variieren und werden gemeinsam mit dem Seminarleiter an Tag 1 definiert. Bei diesem Java Seminar haben Sie die Wahl aus folgenden Themen:

Improve Your Code Tag 1

Reasons to Change Software

  • Adding a feature
  • Fixing a bug
  • Improving the design
  • Optimizing resource usage

Working with Feedback

  • Unit Testing
  • Test Coverings
  • Mock Objects
  • Higher-Level Testing

Refactoring Patterns 

  • Practice Patterns
  • Refactoring Tools

Changing Software 

  • Sprout Method
  • Sprout Class
  • Wrap Method
  • Wrap Class

Adding a Feature

  • Test-Driven Development
  • Programming by Difference

 

Improve Your Code Tag 2

Get a Class into a Test Harness

  • Irritating Parameter
  • Hidden Dependency
  • Construction Blob
  • Irritating Global Dependency
  • Horrible Include Dependencies
  • Onion Parameter
  • Aliased Parameter

Run a Method in a Test Harness

  • Hidden Method
  • Language Feature
  • Undetectable Side Effect

What Methods should I Test?

  • Reasoning About Effects
  • Reasoning Forward
  • Effect Propagation
  • Effect Analysis 

Need to Make a Change

  • Many Changes in One Area
  • Interception Points
  • Pinch Points
  • Characterization Tests
  • Characterizing Classes
  • Targeted Testing
  • A Heuristic for Writing Tests
  • My Application Is All API Calls
  • My Application Has No Structure
  • My Project Is Not Object Oriented

 

Improve Your Code Tag 3

Breaking Monster Class

  • Seeing Responsibilities
  • Moving Forward

Changing Monster Method

  • Hidden Class
  • Extract Till You Drop

Dependency-Breaking Techniques

  • Adapt Parameter
  • Break Out Method Object
  • Definition Completion
  • Encapsulate Global References
  • Expose Static Method
  • Extract and Override Call
  • Extract and Override Factory Method
  • Extract and Override Getter
  • Extract Implementer
  • Extract Interface
  • Introduce Instance Delegator
  • Introduce Static Setter
  • Link Substitution
  • Parameterize Constructor
  • Parameterize Method
  • Primitivize Parameter
  • Pull Up Feature
  • Push Down Dependency
  • Replace Function with Function Pointer
  • Replace Global Reference with Getter
  • Subclass and Override Method
  • Supersede Instance Variable
  • Template Redefinition
  • Text Redefinition

Zertifikat


Nach Ihrem erfolgreichen Improve Your Code Seminar und drei informativen Tagen wartet eine kleine Abschluss-Aufgabe auf Sie. Die werden Sie nun in windeseile und ohne fremde Hilfe erledigen. Sprich: Sie werden Legacy Code verstehen, ihn testen, ändern und damit verbessern können. Also genau das, was der Markt von Ihnen verlangt. Und dieses Können erhalten Sie von uns zudem noch schriftlich in Form Ihres persönlichen Coding Zertifikats, das Sie offiziell als Legacy Code Seminar Absolvent betitelt.