am 24. Juni 2011
Da mache ich jetzt mal eine Serie dran. Jedes Jahr möchte ich euch meinen aktuellen Werkzeugkasten vorstellen. Das sind Tools, die ich für den täglichen Arbeitsalltag brauche. Ist bestimmt auch für mich spannend irgendwann in 80 Jahren, wenn ich dann in Rente gehen darf, zu sehen wie sich über die Jahre meine Vorlieben und Anforderungen geändert haben. Aber fangen wir einfach mal an. Ihr seid bestimmt dann auch so lieb und schreibt kurz auf, was ihr so verwendet.
- Zend Studio: Ich mag Eclipse und PDT. Da wir in der Firma eh Lizenzen hatten bin ich dann bei Zend Studio 8 hängengeblieben. Für mich kann die IDE alles was ich brauche und ich bin unheimlich produktiv damit. Das schöne dabei ist, dass fast alle Tools, die ich im weiteren aufführe dort integriert werden können.
- PHPUnit: Testen gehört heutzutage zum Glück zum Entwicklungsprozess hinzu. Unit Tests werden dann mit PHPUnit geschrieben. Gibt es überhaupt noch eine Alternative?
- Selenium: Eigentlich verwende ich Selenium kaum noch, habe es aber früher eine Zeit lang sehr intensiv genutzt. Jetzt fragt ihr euch bestimmt warum? Naja, irgendwie gingen meine Tests regelmäßig kaputt und man musste wieder so viel anpassen, dass sich der Aufwand nicht mehr gelohnt hat. Unsere Webseiten sind eben momentan nicht so wirklich stabil, das das Wireframe angeht, so dass wir das bestimmt bald wieder angehen werden, zur Zeit aber auf Eis gelegt wurde.
- pDepend: Als halber Architekt stehe ich natürlich auch auf statische Code-Analyse. In PHP kommt man bei diesem Thema nicht um die Tools von Manuel Pichler rum und mein Favorit ist pDepend (auch wenn mir ein wichtiges Feature dort fehlt.
- SVN und Git: Ich hoffe, dass es kein Projekt mehr ohne Versionskontrolle gibt, leider glaube ich, dass ich da falsch liege. Bei uns kommen SVN und Git zum Einsatz und ich bin mit beidem glücklich. Mit Git, weil es ein tolles Werkzeug ist und mit SVN weil ich es seit Ewigkeiten nutze und damit umgehen kann.
- Firefox: Wir sind Webentwickler und brauchen Browser. Bei mir ist es der Firefox in Kombination mit Firebug. Sollte auch eine Standardkombi sein.
- Apache Bench und jMeter: Wir haben ein paar wirklich hochfrequentierte Webseiten da draußen. Um zu wissen, ob das was wir da entwickelt haben auch den Druck aushält, brauchen wir Tools für Lasttests und diese zwei sind dabei meine Favoriten. Pylot kann man sich aber auch mal anschauen.
- Jira: Ticketsysteme sind wichtig. Haltet eure Bugs unter Kontrolle. Wir haben auf die komplette Atlassian-Suite gesetzt und deswegen sind die nächste Punkte auch alles Tools aus deren Hause.
- Bamboo: Continuous Integration wird wohl bei den meisten von euch mit Jenkins/Hudson erledigt. Ich denke, da sind einige Server vom Funktionsumfang identisch.
- Cruicible: Kennt wahrscheinlich kaum jemand, aber Cruicible ist die Code-Review-Software von Atlassian. Dort kann ich mir Review aus Commits zusammenstellen und meinen Kollegen sagen, sie sollen dort mal drüberschauen. Für mich nicht mehr wegzudenken, da ein Code Review der effizienteste Weg ist Fehler zu finden. Effizienter als Unit Tests sogar.
- Confluence: Unser Wiki. Atlassian und integriert alle anderen Werkzeuge.
- VMWare-Player: Da wir unsere Entwicklungsumgebung virtualisiert haben, um möglichst nah am Livesystem zu sein, darf natürlich ein Player für die virtuelle Maschine fehlen. Über das Thema habe ich auch noch einen Artikel in der Pipeline.
- Word: Habe ja gerade gesagt, dass ich halber Architekt bin, die andere Hälfte ist Qualitätsmanager. Das bedeutet viele Konzepte entwerfen und das mache ich mit Word.
- Visio: Jetzt nicht schlagen, aber meine Diagramme für die Dokumente oder für die Planungsphase entwerfe ich mit MS Visio.
- Twirl: Wenn man genügend Follower auf Twitter hat, dann kann man seinen Account nutzen, wenn man mal eine Frage hat. Follower-Power ist was feines.
Ich glaube das waren auch schon die Hauptverdächtigen (sorry, dass ich keine Zeit hatte die Links rauszusuchen). Wahrscheinlich habe ich einige vergessen, aber die kann ich ja immer noch hinzufügen. Jetzt seid ihr dran. Ich braucht ja nicht so ausführlich werden aber eine kommaseparierte Liste wird wohl drinnen sein.
Was mir noch einfällt. Dies ist ja ein Folgebeitrag für Alex und er wollte wissen, das man sich als guter Entwickler aneignen soll. Auf jeden Fall sollte man für sich entscheiden, wie ein effektiver Entwicklungsprozess aussehen sollte. Bei mir sind wichtige Bestandteile Unit Tests, Code-Reviews und eine Planungsphase, was man vielleicht auch an meinen Werkzeugen sehen kann.