Legacy Code meistern in x einfachen Schritten

Größe: px
Ab Seite anzeigen:

Download "Legacy Code meistern in x einfachen Schritten"

Transkript

1 Legacy Code meistern in x einfachen Schritten Version: 1.0 Orientation in Objects GmbH Weinheimer Str Mannheim info@oio.de Über mich Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator Schwerpunkte Architektur Agile Softwareentwicklung Codequalität 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 2 1

2 Java, XML und Open Source seit 1998 ) Software Factory ) Schlüsselfertige Realisierung von Java Software Individualsoftware Pilot- und Migrationsprojekte Sanierung von Software Software Wartung ) Object Rangers ) Unterstützung laufender Java Projekte Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing ) Competence Center) Schulungen, Coaching, Weiterbildungsberatung, Train & Solve-Programme Methoden, Standards und Tools für die Entwicklung von offenen, unternehmensweiten Systemen 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 3 Legacy Code meistern in x einfachen Schritten Nur heute, nicht 1, nicht 2, 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 4 2

3 Legacy Code meistern in x einfachen Schritten In einer idealen Welt würden wir nur "neuen" Code schreiben, der natürlich perfekt und wunderschön ist. Wir müssten nie wieder unseren Code anschauen, geschweige denn 10 Jahre alte Projekte warten. Ende des Tagtraums... Leider ist unsere Welt nicht so ideal, unser Code von gestern ist heute schon Legacy. Diesen im Nachhinein zu verstehen, zu erweitern oder darin Fehler zu beheben, ist immer eine Herausforderung, insbesondere wenn Tests fehlen. Trotzdem gibt es einfache Möglichkeiten, wie man die Qualität von Legacy-Code verbessern kann. Das Wichtigste ist das Einziehen von Fangnetzen, sodass man trotz fehlender Tests guten Gewissens Änderungen durchführen kann. Wer Golden Master, Subclass to Test und Extract Pure Functions an konkreten Beispielen kennenlernen möchte, ist in dieser Session genau richtig Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 5 Unser Thema heute: Refactoring Legacy Code Disclaimer: KEIN Projekterfahrungsbericht 6 3

4 Legacy Code Somebody else's code Jeder kennt ihn Keiner mag ihn Was ist mit unserem eigenen Code? 7 Refactoring Legacy Code Warum? Verstehen Erweitern Bugfixing Optimierung Grafik von ClkerFreeVectorImages: (CC0 Public Domain Lizenz) 8 4

5 Refactoring Legacy Code Annahmen Es gibt automatisierte Tests Quellcode ist schon testbar 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 9 Refactoring Legacy Code Code Smells Temporary Field Long Method Feature Envy Code Comments

6 "Gimme Google, Stack Overflow, and this keyboard, and I'll program you anything. " Duplicated Code 11 Refactoring Legacy Code Code without tests 12 6

7 LEGACY Vermächtnis Erbe Altlast Hinterlassenschaft Foto von smpcas, CC0 Public Domain Lizenz, 13 Legacy code is valuable code that we feel afraid to change. J. B. Rainsberger Foto von PublicDomainPictures, CC0 Public Domain Lizenz,

8 Code without tests is bad code. Michael Feathers 15 Es ist egal, wie gut geschrieben der Code ist schön der Code ist objektorientiert der Code ist entkoppelt der Code ist Tests lassen unser Verhalten schnell und verifizierbar ändern Ohne Tests wissen wir nicht, ob der Code besser oder schlechter wird 16 8

9 Die gute Nachricht Keine Wissenschaft Gesunder Menschenverstand Foto von Engel62: (CC0 Public Domain Lizenz) 17 Was macht es dann schwierig? Hello World vs LOC Disziplin (kleine Schritte, ) Aussagekräftige Testabdeckung 18 9

10 Legacy zu Clean Code? Clean Code ist NICHT das Ziel Hauptfokus: testbarer Code 19 Dann schreiben wir halt Tests viel zu teuer Code meist kaum/nicht testbar starke Kopplung, geringe Kohäsion 20 10

11 refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu Henne-Eiverstehen könnte man Code refactoren, um Code zu refactoren bräuchte Problem man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu verstehen, um Code zu verstehen könnte man Code refactoren, um Code zu refactoren bräuchte man Tests, Tests würden helfen, Code zu 21 um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten Die Katze müßte beißt man refactoren, sich um zu refactoren könnte man Tests schreiben, in um den Tests Schwanz! zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refactoren, um zu refactoren könnte man Tests schreiben, um Tests zu schreiben muß der Code testbar sein, um testbaren Code zu erhalten müßte man refact 22 11

12 Vorgehen 1. Identify what to change 2. Identify what to test 3. Break dependencies 4. Write the tests 5. Modify and refactoring 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 23 No Silver Bullet Jedes Projekt individuell Vorsicht beim Beheben von offensichtlichen Fehlern Foto von stevepb: (CC0 Public Domain Lizenz) 24 12

13 Dann mal her mit den x einfachen Schritten! 25 A Sicherheitsnetz + Tests Foto von bella67: (CC0 Public Domain Lizenz) 26 13

14 B Sanierung Foto von KlausHausmann: (CC0 Public Domain Lizenz) 27 1 Golden Master Foto von istara: (CC0 Public Domain Lizenz) 28 14

15 29 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 30 15

16 1 Golden Master Vorsicht bei Zufallsgeneratoren Festlegen von Seeds (Pseudo-Random) 31 2 Subclass To Test Foto von chrisli8020: (CC0 Public Domain Lizenz) 32 16

17 2 Subclass To Test Seam (Nahtstelle) Ein Seam ist eine Stelle, an der man das Verhalten editieren kann, ohne direkt an dieser Stelle zu ändern. Aufbrechen stark gekoppelter Abhängigkeiten aka Extract and Override 33 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 34 17

18 3 Extract Pure Functions Foto von PublicDomainPictures: (CC0 Public Domain Lizenz) 35 3 Extract Pure Functions seiteneffektfrei keine Statusänderung "It's a classic, we call it a Klassiker" 36 18

19 3 Extract Pure Functions "pure function".substring(5); UrlEncoder.encode("pure function"); Math.max(x, y); System.out.println("unpure"); list.add(3); Collections.sort(list); 37 3 Extract Pure Functions Codestellen isolieren Ziele Separat testbar Duplikation reduzieren 38 19

20 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 39 4 Remove Duplication Don't Repeat Yourself Beachte: Rule of Three Foto von AdinaVoicu: (CC0 Public Domain Lizenz) 40 20

21 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 41 5 Extract Class Large class SRP verletzt Ziele Unabhängiges Testen einzelner Teile Sauberes OO-Design Foto von blickpixel: (CC0 Public Domain Lizenz) 42 21

22 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 43 6 Dependency Inversion 7 Test Dependency non-public Inversion member 8 Dependency Mocking Framework Inversion 44 22

23 Zusammenfassung Golden Master Subclass To Test Extract Pure Functions Remove Duplication Extract Class Dependency Inversion Test non-public member Mocking Framework 46 23

24 1 Golden Master Subclass To Test Extract Pure Functions Extract Class Dependency Inversion Test non-public member Mocking Framework 48 24

25 3 4 5 Extract Pure Functions Remove Duplication Extract Class 49 Tools Code Coverage Approval Tests Infinitest Eclipse Metrics 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 50 25

26 Legacy Code Retreat Foto von Jmabel: (CC BY-SA 3.0 Lizenz) 51 Links Code-Beispiel der Live-Demo anderes Code-Beispiel für Legacy Code Blog: Techniken zu Legacy Code-Retreat Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 52 26

27 Literaturhinweise Refactoring Sprache: Englisch Gebunden Seiten - Addison Wesely Erscheinungsdatum: 1. Juni 1999 ISBN: Working Effectively with Legacy Code Sprache: Englisch Gebunden 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 53?? Fragen??? Orientation Objects GmbH Weinheimer Str Mannheim info@oio.de?? 27

28 Vielen Dank für ihre Aufmerksamkeit! Orientation in Objects GmbH Weinheimer Str Mannheim Zusatzmaterial 6 Dependency Inversion 7 Test Dependency non-public Inversion member 8 Dependency Mocking Framework Inversion 2016 Orientation in Objects GmbH Legacy Code meistern in x einfachen Schritten 56 28

29 6 Dependency Inversion Entkoppeln durch explizites Setzen der Abhängigkeiten Foto von tatlin: (CC0 Public Domain Lizenz) 57 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 58 29

30 7 Test non-public member Wirklich? Gute Alternative bei Legacy Code! Foto von Guian Bolisay: (CC BY-SA 2.0) 59 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 60 30

31 8 Mocking Subclass To Test on Steorids! Interaktion mit Umgebung testen Erwartete Parameter und Aufrufreihenfolge Foto von tatlin: (CC0 Public Domain Lizenz) 61 Live-Coding Foto von StockSnap: (CC0 Public Domain Lizenz) 62 31

Legacy Code meistern in x einfachen Schritten

Legacy Code meistern in x einfachen Schritten Legacy Code meistern in x einfachen Schritten Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Über mich Falk Sippach (@sippsack) Trainer, Berater, Entwickler

Mehr

Legacy Code meistern in x einfachen Schritten

Legacy Code meistern in x einfachen Schritten Legacy Code meistern in x einfachen Schritten Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Abstract In einer idealen Welt würden wir nur "neuen" Code

Mehr

Ant + Ivy Building with dependencies

Ant + Ivy Building with dependencies Ant + Ivy Building with dependencies Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Björn Feustel Version: 1.0 www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software

Mehr

Last- und Stresstest mit the Grinder 3

Last- und Stresstest mit the Grinder 3 Last- und Stresstest mit the Grinder 3 Orientation in Objects GmbH oder auch mein Leben mit the Grinder 3 Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Java, XML und Open Source

Mehr

Atlassian Git Essentials Nahtlose Entwicklungsworkflows aus einer Hand

Atlassian Git Essentials Nahtlose Entwicklungsworkflows aus einer Hand Nahtlose Entwicklungsworkflows aus einer Hand Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory )

Mehr

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software

Michael C. Feathers. Legacy Code. Effektives Arbeiten mit. Refactoring und Testen bestehender Software Michael C. Feathers Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software Vorwort................................................... 13 Geleitwort.................................................

Mehr

Effektiver Einsatz von Code-Reviews

Effektiver Einsatz von Code-Reviews Effektiver Einsatz von Code-Reviews Version: 1.4 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de 18. Java Forum Stuttgart 2015 Ihr Sprecher Thorsten Maier Trainer,

Mehr

Effektives Arbeiten mit Legacy Code

Effektives Arbeiten mit Legacy Code Effektives Arbeiten mit Legacy Code Refactoring und Testen bestehender Software von Michael C. Feathers 1. Auflage Effektives Arbeiten mit Legacy Code Feathers schnell und portofrei erhältlich bei beck-shop.de

Mehr

Hibernate Search. Unterstützung laufender Java Projekte. Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing

Hibernate Search. Unterstützung laufender Java Projekte. Perfect Match Rent-a-team Coaching on the project Inhouse Outsourcing Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige

Mehr

Kontinuierliche Architekturdokumentation im agilen Umfeld

Kontinuierliche Architekturdokumentation im agilen Umfeld Kontinuierliche Architekturdokumentation im agilen Umfeld Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer,

Mehr

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius

Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Die S.O.L.I.D-Prinzipien für C# Entwickler Thomas Claudius Huber @ThomasClaudiusH BASEL BERN BRUGG DÜSSELDORF FRANKFURT A.M. FREIBURG I.BR. GENEVA HAMBURG COPENHAGEN LAUSANNE MUNICH STUTTGART VIENNA ZURICH

Mehr

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag

Refactoring von Legacy Systemen. Jochen Winzen jochen.winzen@andrena.de andrena objects ag Refactoring von Legacy Systemen Jochen Winzen jochen.winzen@andrena.de andrena objects ag Was ist ein Legacy System Ein Legacy System hat folgenden Eigenschaften: + Besitzt die geforderte Funktionalität

Mehr

Agile Ressourcenplanung

Agile Ressourcenplanung Agile Ressourcenplanung Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence

Mehr

Issue Tracker & Wiki

Issue Tracker & Wiki Kur für den Projektalltag Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 0.3 www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Projekte ) ) Beratung ) ) Akademie ) Schlüsselfertige

Mehr

JVM Functional Language Battle

JVM Functional Language Battle JVM Functional Language Battle Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator

Mehr

Kontinuierliche Architekturdokumentation im agilen Umfeld

Kontinuierliche Architekturdokumentation im agilen Umfeld Kontinuierliche Architekturdokumentation im agilen Umfeld Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer,

Mehr

Refactoring. Vortrag im Rahmen des Softwareprojekts: Übersetzerbau. Referenten: Vivienne Severa Alpin Mete Sahin Florian Mercks. Datum:

Refactoring. Vortrag im Rahmen des Softwareprojekts: Übersetzerbau. Referenten: Vivienne Severa Alpin Mete Sahin Florian Mercks. Datum: Refactoring Vortrag im Rahmen des Softwareprojekts: Übersetzerbau Referenten: Vivienne Severa Alpin Mete Sahin Florian Mercks Datum: 20.06.2013 Überblick Einführung Refactoring im Einsatz Werkzeugunterstützung

Mehr

Kapitel 3 Software Quality III

Kapitel 3 Software Quality III Kapitel 3 Software Quality III Software Architecture, Quality, and Testing FS 2015 Prof. Dr. Jana Köhler jana.koehler@hslu.ch Agenda Heute Von Bad Smells zu Refactorings Wie wird Refactoring durchgeführt?

Mehr

Design for Testability in der Praxis David Völkel, codecentric AG

Design for Testability in der Praxis David Völkel, codecentric AG Design for Testability in der Praxis David Völkel, codecentric AG http://commons.wikimedia.org/wiki/file:pit_crew_hudson_valley.jpg http://commons.wikimedia.org/wiki/file:carservice.jpg David Völkel *

Mehr

TDD. mit JUnit & Mockito. Tobias Trelle, codecentric

TDD. mit JUnit & Mockito. Tobias Trelle, codecentric TDD mit JUnit & Mockito Tobias Trelle, codecentric AG @tobiastrelle 1 Tobias Trelle Software Architekt @ codecentric AG Twitter: @tobiastrelle Slideshare: http://de.slideshare.net/tobiastrelle/ GitHub:

Mehr

JVM Functional Language Battle

JVM Functional Language Battle JVM Functional Language Battle Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator

Mehr

Agile Ressourcenplanung

Agile Ressourcenplanung Agile Ressourcenplanung Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Evolution Ressourcenplanung - Ansatz 1: Papiergestütztes Planning Board je Team

Mehr

Live Hacking. Durch Refactoring zu sauberem Code

Live Hacking. Durch Refactoring zu sauberem Code Live Hacking Durch Refactoring zu sauberem Code Roland Mast Sybit GmbH Software-Entwickler roland.mast@sybit.de Roland Mast Sybit GmbH Software-Entwickler roland.mast@sybit.de 40 35 30 25 20 15 10 5 0

Mehr

Agile Ressourcenplanung

Agile Ressourcenplanung Agile Ressourcenplanung Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) Schlüsselfertige Realisierung

Mehr

Agile Architektur. Abstract. Version: 1.0. Orientation in Objects GmbH. Weinheimer Str Mannheim.

Agile Architektur. Abstract. Version: 1.0. Orientation in Objects GmbH. Weinheimer Str Mannheim. Agile Architektur Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Abstract Eine gut geplante Softwarearchitektur stellt das Grundgerüst jeder wartbaren

Mehr

Brauche ich ein DVCS?

Brauche ich ein DVCS? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Kristian Köhler Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Einleitung Grundbegriffe Workflows Demo Fazit 2 Gliederung Einleitung

Mehr

Struts 2 Das Imperium schlägt zurück?

Struts 2 Das Imperium schlägt zurück? Struts 2 Das Imperium schlägt zurück? Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Tobias Kieninger www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Projekte

Mehr

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr

Einbindung dynamischer Sprachen in Java

Einbindung dynamischer Sprachen in Java Einbindung dynamischer Sprachen in Java Orientation in Objects GmbH Steffen Schluff Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Gliederung Einleitung Einsatzszenarien Java Scripting

Mehr

Thomas Schissler MVP Visual Studio ALM, artiso AG

Thomas Schissler MVP Visual Studio ALM, artiso AG Thomas Schissler MVP Visual Studio ALM, artiso AG Kurs-Übersicht Moderne Softwareentwicklung 01 Überblick Was macht moderne Software-Entwicklung aus? 02 Projektmanagement Wie funktioniert modernes Projektmanagement

Mehr

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen

Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo. Statische Codeanalyse wirklich effektiv nutzen Jan Schumann, G+J Manuel Pichler, Trainer & Consultant - Qafoo Statische Codeanalyse wirklich effektiv nutzen Über uns Jan Schumann Jahrgang 1976 System- / Softwarearchitekt Entwickler von: PHP_Depend,

Mehr

Softwaremetriken verstehen und nutzen

Softwaremetriken verstehen und nutzen Softwaremetriken verstehen und nutzen Kore Nordmann , Manuel Pichler 17. November 2009 Über uns Kore Nordmann Langzeit PHP Entwickler Speaker auf diversen

Mehr

Iterativ. Inkrementell

Iterativ. Inkrementell Iterativ Inkrementell Build Release Test Qualität Architektur & Documentation Distributed Version Control Continuous Integration TDD Design Agile Architektur Dependency Feature Branches Mocks

Mehr

Software-Refactoring. 29. Mai 2013

Software-Refactoring. 29. Mai 2013 Software-Refactoring 29. Mai 2013 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie

Mehr

Große Versuchung, von Listenplanung abzuweichen

Große Versuchung, von Listenplanung abzuweichen Agile Ressourcenplanung Version: 1.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Evolution Ressourcenplanung - Ansatz 1: Papiergestütztes Planning Board je Team

Mehr

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld

SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! Agiles Projektmanagement und Clean Code im SAP-Umfeld SAP Software Engineering live Agile! SAP Ali Kaveh Software Engineering live Agile! Certified Scrum Master Solution

Mehr

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand

IntelliJ IDEA. Gliederung. Was ist IntelliJ IDEA? Lizenzmodell Warum IntelliJ einsetzen? IntelliJ und Eclipse Demo. Blick über den Eclipse-Tellerrand IntelliJ IDEA Blick über den Eclipse-Tellerrand Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Gliederung 2007 Orientation in Objects GmbH IntelliJ IDEA:

Mehr

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen

Model-Driven Development in der Praxis. mit objectif. Herzlich willkommen Model-Driven Development in der Praxis mit objectif Herzlich willkommen Die Themen: microtool stellt sich vor live Model-Driven Development die Grundlagen Model-Driven Development von Web-Anwendungen in

Mehr

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und

Mehr

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit

Gerrit und Jenkins ein Traumpaar für Pre-Tested Commit und ein Traumpaar für Pre-Tested Commit Orientation in Objects GmbH Weinheimer Str. 68 6809 Mannheim Steffen Schäfer Steffen Schluff Version:.0 www.oio.de info@oio.de Gliederung Pre-tested commit und Pre-tested

Mehr

CODE REVIEWS DONE RIGHT. Heiko Gramlich

CODE REVIEWS DONE RIGHT. Heiko Gramlich CODE REVIEWS DONE RIGHT Heiko Gramlich Agenda Über mich Code Review Code Review bei De-Mail Development Tooling Demo Erfahrungen im Team 2 Über mich Software Entwickler Werdegang: Dipl. Informatiker der

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2007/08 Überblick I 1 Refactoring Refactorings

Mehr

Resilient Software Design Patterns

Resilient Software Design Patterns Resilient Software Design Patterns Version: 17.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler Orientation

Mehr

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com

Sonargraph in 15 Minuten. Andreas Hoyer blog.hello2morrow.com Sonargraph in 15 Minuten Andreas Hoyer a.hoyer@hello2morrow.com blog.hello2morrow.com hello2morrow GmbH Gegründet 2005 Angesiedelt in Deutschland, USA und Kolumbien > 95% des Umsatzes Software Lizenzen,

Mehr

Keynote Der offene Ansatz: Open Source basiertes ALM ganz praktisch

Keynote Der offene Ansatz: Open Source basiertes ALM ganz praktisch Keynote ALMconf 2010 in Stuttgart 26. bis 28. Oktober 2010 Thomas Obermüller elego Software Solutions GmbH - 2010 1 Welcome & Outline Open Source basiertes ALM ganz praktisch Agenda Application Lifecycle

Mehr

Ein Design Tool für objektorientierte portable Programmierschnittstellen

Ein Design Tool für objektorientierte portable Programmierschnittstellen Diplomarbeit Ein Design Tool für objektorientierte portable Programmierschnittstellen Vortragender: Elias Volanakis Inhalt 1. Entwurfsmuster 2. Wrapper Facade (WF) Aufgaben & Struktur Implementierung Nutzen

Mehr

Softwarequalität sicherstellen mit Sonar

Softwarequalität sicherstellen mit Sonar Softwarequalität sicherstellen mit Sonar Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Hochschule München Michaela Lutz München, den 07. Juni 2013 1 Gliederung Was ist Sonar? Komponenten

Mehr

BIRT in Enterprise Architekturen

BIRT in Enterprise Architekturen BIRT in Enterprise Architekturen Orientation in Objects GmbH Tobias Kieninger Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object

Mehr

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle

Mit Legacy-Systemen in die Zukunft. adviion. in die Zukunft. Dr. Roland Schätzle Mit Legacy-Systemen in die Zukunft Dr. Roland Schätzle Der Weg zur Entscheidung 2 Situation Geschäftliche und softwaretechnische Qualität der aktuellen Lösung? Lohnen sich weitere Investitionen? Migration??

Mehr

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle

OO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO

Mehr

ResilientSoftware Design Patterns

ResilientSoftware Design Patterns Resilient Software Design Patterns Version: 17.1 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater, Entwickler Orientation

Mehr

Vorlesung Software-Reengineering

Vorlesung Software-Reengineering Vorlesung Software-Reengineering Prof. Dr. Rainer Koschke 1 1 Arbeitsgruppe Softwaretechnik Fachbereich Mathematik und Informatik Universität Bremen Wintersemester 2005/06 Überblick I 1 Refactoring 1 Refactoring

Mehr

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple.

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple. Ruby on Rails Alternative zur Web-Entwicklung mit Java? Thomas Baustert Ralf Wirdemann www.b-simple.de 27.06.2005 www.b-simple.de 1 Überblick Was ist Ruby on Rails? Weblog Demo Rails Komponenten Controller,

Mehr

BIRT Best Practices. Java, XML und Open Source seit 1998. ) Software Factory ) Christian Brell. Schlüsselfertige Realisierung von Java Software

BIRT Best Practices. Java, XML und Open Source seit 1998. ) Software Factory ) Christian Brell. Schlüsselfertige Realisierung von Java Software Christian Brell Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Java, XML und Open Source seit 1998 ) Software Factory ) ) Object Rangers ) ) Competence Center) Schlüsselfertige

Mehr

Test Driven Development

Test Driven Development Test Driven Development Definition & Motivation [~15min] Demo [~10min] Stubs & Mocks [~15min] Übliche Fehler [~5min] Folie 1 TDD [Kent Beck] Schreibe keine Zeile Code ohne einen fehlschlagenden (roten)

Mehr

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker,

Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, Java-Einführungskurs Informatik II (D-ITET) Vincent Becker, vincent.becker@inf.ethz.ch Was haben wir heute vor? Vorbereitung auf die Übungen zu Informatik II Vorstellung des Teams Organisatorisches Theorie

Mehr

Axis2, CXF und JAX-WS RI im Vergleich

Axis2, CXF und JAX-WS RI im Vergleich Axis2, CXF und JAX-WS RI im Vergleich Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Gliederung Die Standards: JWS, JAXB und JAX-WS Axis2 Apache CXF JAX-WS RI und

Mehr

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG

CONTINUOUS DELIVERY. Entmystifiziert. codecentric AG CONTINUOUS DELIVERY Entmystifiziert WIE SOFTWARE LIEFERN? 01.07.2014 2 WAS IST CONTINUOUS DELIVERY? Robust Wiederholbar Effektiv 01.07.2014 3 LANDSCHAFTEN Continuous Integration Public / Private Hybrid

Mehr

JVM Functional Language Battle

JVM Functional Language Battle JVM Functional Language Battle Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator

Mehr

Software-Refactoring. 27. Mai 2015

Software-Refactoring. 27. Mai 2015 Software-Refactoring 27. Mai 2015 Überblick Was ist Refactoring und wozu dient es? Welche Refactorings gibt es? Refactoring-Katalog: www.refactoring.com Wann, wo und wie führt man Refactorings durch? Wie

Mehr

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Vertretungsstunde Englisch 5. Klasse: Grammatik Das komplette Material finden Sie hier: School-Scout.de Pronouns I Let s talk about

Mehr

Langlebige Softwarearchitekturen

Langlebige Softwarearchitekturen Langlebige Softwarearchitekturen Dr. Carola Lilienthal Carola.Lilienthal@wps.de www.wps.de //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Die zwei Architekturziele für diesen Vortrag Architekturziel 1:

Mehr

Putting TDD to the Test. Edwin Günthner, IBM Germany Development Lab

Putting TDD to the Test. Edwin Günthner, IBM Germany Development Lab Putting TDD to the Test Edwin Günthner, IBM Germany Development Lab Zum Titel www.dict.cc: to put sb./sth. to the test jdn./etw. auf den Prüfstand stellen Java Forum Stuttgart 2017 2 Agenda Teil 1: Grundsätzliches,

Mehr

Testen von grafischen Benutzeroberflächen

Testen von grafischen Benutzeroberflächen Seminarvortrag 10: Testen von grafischen Benutzeroberflächen 2004 / 06 / 28 Clemens Sommer, Gerald Peter Übersicht Motivation GUI Allgemein Fehlerquellen und deren Auswirkungen GUI Testwerkzeuge JUnit

Mehr

Glücksspiel Softwareentwicklung. Christian Wende - DevBoost GmbH JUG Saxony Day 2016

Glücksspiel Softwareentwicklung. Christian Wende - DevBoost GmbH JUG Saxony Day 2016 Glücksspiel Softwareentwicklung Christian Wende - DevBoost GmbH JUG Saxony Day 2016 Eine einfache Aufgabe Implementiere einen Algorithmus, der eine gesuchte Zahl zwischen 1 und 1000 in maximal 10 Versuchen

Mehr

Scriptbasierte Testautomatisierung. für Web-Anwendungen

Scriptbasierte Testautomatisierung. für Web-Anwendungen Scriptbasierte Testautomatisierung für Web-Anwendungen Scriptbasierte Testautomatisierung + Web-Anwendung: Erstes Einsatzgebiet, Ergebnisse aber allgemein übertragbar + Test aus Benutzersicht - Nicht Unit-Test,

Mehr

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform

How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform How To: Wie entwickle ich mit SharpDevelop Anwendungen für die PocketPC-Platform 0. Benötigt werden folgende Softwarepakete:.NET Framework Software Development Kit (http://www.microsoft.com/downloads/details.aspx?familyid=4fe5bdb5-c7a7-4505-9927-2213868a325b&displaylang=en)

Mehr

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis...

Source Code Konverter... 2. Online: (VB.net <-> C#)... 3. Kommerzielle Produkte (VB, C#, C++, Java)... 3. Code Nachbearbeitung in der Praxis... Autor: Thomas Reinwart 2008-05-05 office@reinwart.com Inhalt Source Code Konverter... 2 Online: (VB.net C#)... 3 Kommerzielle Produkte (VB, C#, C++, Java)... 3 Code Nachbearbeitung in der Praxis...

Mehr

Continuous Database Design

Continuous Database Design Continuous Database Design Entwicklertag Karlsruhe Mai 2017 Version: 2.0 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim www.oio.de info@oio.de Ihr Sprecher Thorsten Maier Trainer, Berater,

Mehr

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES

Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Motivation Überblick Was macht Funktionale Programmierung aus? Sind Funktionale Programmierung und Objektorientierte Programmierung

Mehr

Regelbasierte Systeme mit JBoss Drools. Paul Weinhold JUG Görlitz, 29.07.2015

Regelbasierte Systeme mit JBoss Drools. Paul Weinhold JUG Görlitz, 29.07.2015 Regelbasierte Systeme mit JBoss Drools Paul Weinhold JUG Görlitz, 29.07.2015 Warum regelbasierte Systeme? Regeln gibt es überall Regeln sind ein Bestandteil der Fachlichkeit Menschen denken in Regeln

Mehr

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte

Mehr

LIVE/11 - WEBSPECIAL. Andreas Förthner - Clemens Kalb

LIVE/11 - WEBSPECIAL. Andreas Förthner - Clemens Kalb LIVE/11 - WEBSPECIAL Andreas Förthner - Clemens Kalb 1 IHRE REFERENTEN! Clemens Kalb! Leiter netlogix Media! Spezialist für Online-Marketing und ecommerce! Google AdWords Certified Professional @cjckalb

Mehr

Frontend Migration from JSP to Eclipse Scout

Frontend Migration from JSP to Eclipse Scout Frontend Migration from JSP to Eclipse Scout Peter Nüdling Raiffeisen Schweiz Jérémie Bresson, Peter Barthazy BSI Business Systems Integration AG Eclipse Finance Day, Zürich, 31. Oktober 2014 Seite 1 WebKat:

Mehr

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" Sebastian Meyer und Kai Stapel

Tool-Chain. Übung. Eclipse, SVN, Ant, Cobertura, Metrics Labor Software Engineering Experiment Sebastian Meyer und Kai Stapel Tool-Chain Übung Eclipse, SVN, Ant, Cobertura, Metrics Labor "Software Engineering Experiment" 2009 Sebastian Meyer und Kai Stapel 05.05.2009 Überblick SVN Grundlagen SVN in Eclipse Ant in Eclipse Cobertura

Mehr

PHP 6 Beliebte Webskriptsprache wird erwachsen. Linux User Group Bern 14.05.2009 René Moser <mail@renemoser.net>

PHP 6 Beliebte Webskriptsprache wird erwachsen. Linux User Group Bern 14.05.2009 René Moser <mail@renemoser.net> PHP 6 Beliebte Webskriptsprache wird erwachsen Linux User Group Bern 14.05.2009 René Moser Inhalt 1.Wie entstand PHP? 2.Was PHP? 3.Warum PHP? 4.Wie installiere ich PHP? 5.Wie programmiere

Mehr

Refactoring. Programmiermethodik. Eva Zangerle Universität Innsbruck

Refactoring. Programmiermethodik. Eva Zangerle Universität Innsbruck Refactoring Programmiermethodik Eva Zangerle Universität Innsbruck Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle Themen

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN?

INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN? INTEGRATION TEST HELL ODER WIE INTEGRATIV SOLL ICH TESTEN? David Völkel XPDays Germany 14.11.2013 ÜBER MICH David Völkel IT-Consultant für codecentric Twitter: @davidvoelkel Schwerpunkte: Test-Driven Development

Mehr

Programmierstil in Java Coding-Standards und Dokumentation

Programmierstil in Java Coding-Standards und Dokumentation Coding-Standards und Dokumentation SEP Felix Zenz 23.10.2017 Wissenschaftliche Betreuer: Prof. Dr. Peer Kröger, Janina Sontheim, Daniel Kaltenthaler, Johannes Lohrer Verantwortlicher Professor: Prof. Dr.

Mehr

TDD with Contracts. XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald. c4j.vksi.de

TDD with Contracts. XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald. c4j.vksi.de TDD with Contracts XP Days Germany 2013 Dr. Lars Alvincz, Hagen Buchwald VKSI SIG C4J - Special Interest Group Contracts for Java des Vereins Karlsruher Software Ingenieure VKSI Verein Karlsruher Software

Mehr

CONTINUOUS DELIVERY. codecentric AG

CONTINUOUS DELIVERY. codecentric AG CONTINUOUS DELIVERY AGENDA Einstieg Was ist Continuous Delivery Welche Ziele werden verfolgt? Voraussetzungen Technisch Organisatorisch Kulturell Umsetzung und Einführung 6 Disziplinen der Continuous Delivery

Mehr

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi

Projektgruppe. Thomas Kühne. Komponentenbasiertes Software Engineering mit OSGi Projektgruppe Thomas Kühne Komponentenbasiertes Software Engineering mit OSGi Anforderungen der PG IDSE an ein Komponenten- Client Nativer Client Web Client Alternativen IDSE Nutzer Szenario Pipe IDSE

Mehr

Karlsruher Entwicklertag 2013. Coding Dojos im Unternehmen

Karlsruher Entwicklertag 2013. Coding Dojos im Unternehmen Karlsruher Entwicklertag 2013 Coding Dojos im Unternehmen...und es lohnt sich doch 05.06.2013 1 Agenda Vorstellung Vorgeschichte Basics Beginn Clean Code & TDD Fazit 2 Ralf Schoch Zur Person Freiberuflicher

Mehr

Scala für Enterprise-Applikationen

Scala für Enterprise-Applikationen Scala für Enterprise-Applikationen Eine Bestandsaufnahme Dr. Halil-Cem Gürsoy adesso AG Twitter: @hgutwit G+: http://goo.gl/hljrs 03.11.11 Der Referent Insgesamt über 10 Jahre Beratung und Entwicklung

Mehr

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de

Configuration Management mit Verbosy 17.04.2013 OSDC 2013. Eric Lippmann www.netways.de Configuration Management mit Verbosy 17.04.2013 OSDC 2013 Eric Lippmann Kurzvorstellung NETWAYS Expertise OPEN SOURCE SYSTEMS MANAGEMENT OPEN SOURCE DATA CENTER Monitoring & Reporting Configuration Management

Mehr

Refactoring relationaler Datenbank. Shaoke Wu

Refactoring relationaler Datenbank. Shaoke Wu Refactoring relationaler Datenbank Shaoke Wu Überblick Einführung Bad Smells Probleme bei Database Refactoring Durchführung von Database Refactoring Visualisierung Refactoring relationaler DB Einführung

Mehr

Festlegungen für die Code Entwicklung Table of contents

Festlegungen für die Code Entwicklung Table of contents Festlegungen für die Code Entwicklung Table of contents 1 Vorbemerkungen...2 2 Encoding... 2 2.1 Allgemeines...2 2.2 Konfiguration unter Eclipse... 2 3 Java-Code Formatierung...2 3.1 Allgemeines...2 3.2

Mehr

Continuous Database Integration mit Flyway

Continuous Database Integration mit Flyway XP Days Germany 2015 Continuous Database Integration mit Flyway Sandra Parsick info@sandra-parsick.de @SandraParsick Zur meiner Person Freiberufliche Softwareentwickler und Consultant im Java- Umfeld Schwerpunkte:

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Mobile Apps: Von der Entwicklung bis zum Test mit HP Software

Mobile Apps: Von der Entwicklung bis zum Test mit HP Software Mobile Apps: Von der Entwicklung bis zum Test mit HP Software Amir Khan Presales Consultant Software Hewlett-Packard (Schweiz) GmbH HP Invent 2015 Copyright 2015 Hewlett-Packard Development Company, L.P.

Mehr

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS

Code Quality. Steigerung der Codequalität mit Visual Studio & TFS Code Quality Steigerung der Codequalität mit Visual Studio & TFS Tobias Richling 30 Jahre Wohnhaft im Münsterland Softwareentwickler seit Amiga Basic Microsoftie Logisitksoftware Silverlight TFS Trainer,

Mehr

Gelebte Architektur und ALM in der Praxis

Gelebte Architektur und ALM in der Praxis Gelebte Architektur und ALM in der Praxis Agenda 9:00 Begrüßung und Einleitung, Erwartungshaltung 9:15 Build- und Dependency-Management mit dem TFS 11:00 Q&A 11:30 Anforderungen an moderne Software 12:00

Mehr

Build- und Delivery-Pipelines als Code mit Jenkins

Build- und Delivery-Pipelines als Code mit Jenkins .consulting.solutions.partnership Build- und Delivery-Pipelines als Code mit Jenkins Alexander Schwartz, Principal IT Consultant Entwicklertag Frankfurt 16.02.2017 Build- und Delivery-Pipelines als Code

Mehr

Die SOLID-Prinzipien Fünf Grundsätze für bessere Software

Die SOLID-Prinzipien Fünf Grundsätze für bessere Software ESE Kongress 2014 Vortragsskript: Die SOLID-Prinzipien Fünf Grundsätze für bessere Software Frank Listing, MicroConsult GmbH Die Qualität der Software ist nicht in allen Projekten ideal, und deshalb werden

Mehr

ZuuL - Entwicklung eines Adventures

ZuuL - Entwicklung eines Adventures ZuuL - Entwicklung eines Adventures im Rahmen der Uni-Tage 2009 Team 120 Universität Hamburg 16./17. November 2009 Team 120 (Universität Hamburg) ZuuL - Entwicklung eines Adventures 16.11.09 1 / 21 Übersicht

Mehr

Bildverarbeitung und Algorithmen. Einführung in ImageJ

Bildverarbeitung und Algorithmen. Einführung in ImageJ Prof. Dr. Wolfgang Konen Einführung in ImageJ SS06 3b.1 Konen SS06 3b.2 Konen Tools in der Bildverarbeitung Früher: fast so viele BV-Tools wie BV-Formate Lösungen nur schwer auf andere Systeme übertragbar

Mehr