die top 10 der tools & methoden für mehr spaß beim...

43
Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickeln Java User Forum - Stuttgart Patrick Baumgartner – Senior Software Consultant Odilo Oehmichen – Senior Software Consultant 07. Juli 2011

Upload: others

Post on 31-Aug-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickeln

Java User Forum - Stuttgart

Patrick Baumgartner – Senior Software Consultant Odilo Oehmichen – Senior Software Consultant 07. Juli 2011

Page 2: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

2

Speaker Profiles

§  Patrick Baumgartner §  Senior Software Consultant | Partner §  Spring Framework, OSGi & agile Methoden §  Co-Autor von „OSGi für Praktiker“ (Hanser)

§  Odilo Oehmichen §  Senior Software Consultant | Partner §  mehr als 10 Jahre Erfahrung im Java-Umfeld §  Spring, Spring MVC, Webflow, Security, etc.

§  Swiftmind GmbH (http://www.swiftmind.com) §  Enterprise Java, Spring & OSGi Consulting §  Spring & OSGi Workshops/Trainings

Page 3: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

3

Das kennen wir alle...

§  Jeder von uns...

§  ... wird ständig in seinem Arbeitsfluss unterbrochen

§  ... muss den Code seiner Kollegen weiterentwickeln

§  ... hat immer wiederkehrende zeitraubende Tasks

§  raubt den Spaß am Entwickeln

Page 4: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

4

Agenda

§  Unsere 10 Lieblingsmittelchen gegen

Procrastination

Code Smells

Repetitive Tasks

Deadly Dullness

§  Q&A / Welches sind Eure Lieblingstool?

Page 5: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Your Daily Comic Strip

Page 6: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

6

Geek and Poke

Page 7: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Nasa - Earth Observatory

Kali-Düngerwerk Lop Nur, Xinjiang, China

Page 8: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Rapid Application Development

Page 9: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

9

Projekt Setup

§  Projekt Struktur schnell erzeugen

§  Persistenzlayer konfigurieren

§  Webtechnologie integrieren

§  Managen von Dependencies und Repositories

§  Scaffolding Applikationen bauen

Page 10: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

10

Spring Roo Demo

Page 11: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Clean Code

Page 12: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

12

Clean Code

§  Software Craftmanship

§  geprägt von Uncle Bob (Robert C. Martin)

§  Code Smells §  Klassen-, Methoden-, Variablennamen §  Methodengrösse §  Comments §  Strong cohesion -> Single Responsibility §  …

Page 13: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

13

Projekt Lombok

§  Java Library – lombok.jar

§  Reduce Boilerplate Code

§  Annotationsbasiert

@Getter, @Setter, @ToString, @Data,...

Page 14: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

14

Projekt Lombok

Page 15: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

15

Projekt Lombok

§  Benötigt Java ≥ 6

§  Java Agents hooken in Compile Prozess

javac –cp lombok.jar Person.java

§  Eclipse, netbeans, maven Plugins

§  Andere Tools: PMD, findbugs, checkstyle, Simian

Page 16: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Redeploy Hell

Page 17: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

17

Redeploy Hell

§  Problem §  Code geschrieben -> Build -> Deploy auf Server §  Über 15 % der Entwicklungszeit ist Warten auf

Redeploy §  Frißt Nerven, Zeit und Geld

§  Lösungen §  Funktionalitäten ausgliedern §  Abhängigkeiten zu Laufzeit-Umgebungen reduzieren §  Unittests / Applikation §  Tools

§  Debugger §  JRebel

Page 18: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

18

JRebel

§  Integriert sich in JVM §  Richtiges Hotdeployment

§  Hinzufügen von Methoden §  Ändern von Methodensignaturen §  Konfigfile Änderung (Spring, Hibernate, JSF, Wicket,…)

§  Verbindet sich direkt mit IDE-Workspace §  Unterstützt alle gängigen Appserver

§  Nachteil: Kommerziell

Page 19: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Open Source Libraries

Page 20: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

20

Don't re-invent the wheel

§  Einsatz von Open Source Libraries im Projekt §  Bessere Applikations-Architektur §  Source Code von der Community benutzt §  gut (Unit-)getestet §  Schnelleres Entwickeln mit kleineren Team §  Fokussierung auf die Businesslogik

§  Libraries §  Apache Commons §  Guava §  FluentJava §  Spring

Page 21: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

21

Apache Commons – Lang

§  Verschiedene String Operationen

§  Erwartete Resultate

Page 22: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

22

Apache Commons – CLI

§  Command Line Programm mit Option „-h“

§  Programmausgabe

Page 23: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

23

Apache Commons – Email

§  Beispiel Email senden über Gmail

Page 24: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

24

Apache Commons

Attributes, BeanUtils, Betwixt, Chain, CLI, Codec,

Collections, Compress, Configuration, Daemon,

DBCP, DbUtils, Digester, Discovery, EL, Email, Exec,

FileUpload, IO, JCI, Jelly, Jexl, JXPath, Lang,

Launcher, Logging, Math, Modeler, Net, Pool,

Primitives, Proxy, Sanselan, SCXML, Transaction,

Validator, VFS

Page 25: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Get your Work Done!

Page 26: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

26

Pomodoro Technique

(c) Staffan Nöteberg - Pomodoro Technique Illustrated

!!

!"#$%&'()*+,&-)#+.)+&/01&2334536564&

"#$!%&'&(&)&!"$*#+,-.$"#$!%&'&(&)&!"$*#+,-.$!! !!/!!!/!!!0001234554++&3$6$)712$!80001234554++&3$6$)712$!899:;<=:;<=!!

!"#$%&'&(&)&$!#*"+,-.#$

Page 27: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

27

Pomodoro Technique

§  Ergebnisse §  Lernen Aktivitäten planen & schätzen §  Aufzeichnen & verbessern der Aktivitäten §  Störungen vermindern & vermeiden

§  Tools §  Pomodoro (Eieruhr) §  Focus Buster

Page 28: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Shortcuts

28

Page 29: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

29

Shortcuts

§  Problem §  Mouse Junkies §  Umgreifen frisst Zeit §  Produktivität sinkt §  Shortcuts schwer lernbar

Page 30: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

30

Shortcuts

§  Lösungen §  Eclipse Mousefeed-Plugin zeigt Shortcuts auf

§  Save-Actions räumt Code auf §  Cheatsheets (für jegliche Tools)

Page 31: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Continuous Integration

Page 32: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

32

Continuous Integration

Phyllis

Page 33: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

33

Jenkins

§  Alles was es braucht ist Java §  Gehe zu http://jenkins-ci.org §  Download War-File §  Command-Line java -jar jenkins.war

§  Plugin-Mechanismus §  Chuck-Norris §  Lava Lampe §  ...

Page 34: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

34

Continuous Integration

Agnes

Page 35: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

35

CI Game

§  „You broke the build“ §  Einzahlung in Build-Kasse §  „<...> Developer of the week“ §  ...

§  CI Game von Clint Shank §  Reward-System §  Jenkins-Plugin verfügbar

Page 36: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Unit Testing

Page 37: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

37

Unit Testing

§  TDGotchi §  Gotchi füttern mit Unittest-Results

§  Infinitest §  Continuous Test Runner for Java

Page 38: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Keep up-to-date

Page 39: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

39

Keep up-to-date

§  Es tut sich viel in der Java-Welt §  Java 7, Cloud Computing, OSGi, ....

§  Besuche... §  Konferenzen §  Hackathons / Hackergarten §  Java User Groups

§  Tausch dich aus §  E-Learning

§  Blogs §  Parleys (Offline-Client) §  InfoQ

Page 40: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

Zusammenfassung

Page 41: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

41

Zusammenfassung

§  Your Daily Commic Strip §  Rapid Application Development §  Clean Code §  Redeploy Hell §  Open Source Libraries §  Get your Work Done! §  Shortcuts §  Continuous Integration – Jenkins §  Unit Testing §  Keep up-to-date

Page 42: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

42

Weitere Resourcen

§  Swiftmind GmbH §  http://www.swiftmind.com §  http://www.swiftmind.com/blog

§  Memonic §  http://bit.ly/swiftmind-jfs

Page 43: Die Top 10 der Tools & Methoden für mehr Spaß beim Entwickelnalt.java-forum-stuttgart.de/jfs/2011/folien/F1.pdf · Pomodoro Technique ! Ergebnisse ! Lernen Aktivitäten planen &

43

Q & A

Patrick Baumgartner, Odilo Oehmichen patrick.baumgartner [at] swiftmind [dot] com odilo.oehmichen [at] swiftmind [dot] com http://www.swiftmind.com http://www.twitter.com/swiftmind