Archive | June, 2011

Halte deinen Code sauber!

30 Jun

Vor einer Woche habe ich einen Vortrag vor Entwicklern für Embedded Systems gehalten, der sich mit dem Thema “Clean Code” beschäftigt hat. Die Zeit war leider begrenzt, sont hätte ich gut 5 Stunden und 100 Prinzipien vortragen können.

Hier die aus meiner Sicht die 6 wichtigsten Regeln für das Arbeiten mit Quellcode im Team:

1. Keep it simple, stupid (KISS)

Man sollte immer die einfache Lösung anstreben. Die neuste “Bleeding Edge Technologie” einzusetzen hilft nicht immer weiter. Auch wenn der Code nach 6 Wochen schon nicht mehr zu verstehen ist, entstehen bei der Fehlersuche und Wartung Probleme.

2. Single Responsible Priciple

Eine Codezeile sollte immer eine Sache machen! Die Zuständigkeit einer Funktion/Mehtode sollte eindeutig sein! Eine Klasse soll nur eine Aufgabe erfüllen…

3. Die Pfadfinderregel beachten

Fällt bei Wartungsarbeiten an Quellcode auf, dass dieser mal überarbeitet werden müsste, ist es an der Zeit dies auch zu tun. Baut man seine Änderungen nur ran, so hinterlässt man noch viel schlimmeren Code, den sicherlich bald keiner mehr versteht. Code muss ständig aufgeräumt werden, sonst entsteht das sogenannte “Broken Windows“ Phänomen.

4. Don’t repeat yourself

Eine der wichtigsten Regeln… ist aber schon so oft erörtert wurden, dass ich diese hier nur der Vollständigkeit halber aufzähle. lies mehr

5. Use Coding Conventions

Wenn man im Team am gleichen Code arbeitet, sollte man auch gleiche Regeln haben nach dem man Code entwickelt. Dies fängt damit an, wo eine Klammer hinkommt und geht bis zu Bezeichnungsvorschriften von Methoden- oder Klassennamen. Eigentlich beinhaltet das auch alle vorangegangenen Regeln, denn KISS ist ja beispielsweise auch eine Konvention, die jeder im Team einhalten sollte.

6. Use Version Control

Wenn ich diesen Vortrag nicht vor Entwickler für Embedded Systems gehalten hätte, würde dieser Punkt wohl “Benutze moderne Tools” heißen. Ich bin der Meinung man sollte heutzutage keine Codezeile mehr ohne Versionskontrolle, Continuous Integration, automatisierte Tests… schreiben.

Hier meine Slides:

 

Wie gesagt. Ich könnte noch viel mehr Punkte aufführen wie “Root Cause Analyse”, “Favor Composition over Inheritance”, “Separation of Concerns”… Ich hatte aber nur 20 Minuten Zeit.

Atlassian Summit Tag 2

8 Jun


Summit Bash

Der 1. Tag des Atlassian Summits ist mit ner Party im Thirsty Bear in San Francisco zu Ende gegangen. Atlassian hat speziell für diesen Anlass 3 Biersorten brauen lassen: Das API IPA, University Ale und Goat’s Beer’d.

Keynote

Die Keynote begann mit einer Musical Aufführung des Atlassian Teams!   Wer nicht dabei war, kann sich das ganze noch mal auf YouTube anschauen: Atlassian Musical. Anschließend stellte  Scott Farquhar Verbesserungen des legendären Services vor:

Jira Installation und Updates

  • Jira installiert sich direkt als Service, startet also automatisch beim Neustart des Servers
  • Port checkin: Bei der Installation schaut Jira nach, ob der Serverport verfügbar ist
  • bei Updates werden alle kundenspezifischen Anpassungen wie beispielsweise Logos automatisch migriert
  • auch ein Export der Datenbank ist nicht mehr notwendig… einfach den Updateservice starten

Atlassian University

  • die University ist der neue ein Online-Lernservice von Atlassian. Confluence und Jira Benutzer können hier 65 unterschiedliche Klassen absolvieren. Bei den Lerninhalten beschränkt sich der Universität auf die Basisfeatures der Tools
  • die Kosten hierfür $10 bis $1.200 (ist abhängig wie viele Lizenzen man hat)
Service
  • Atlassians Service Robot “Hercules” wird jetzt in Jira und Confluence (Fisheye, Bamboo und Cruicible folgen später) integriert. Dies bedeutet, dass  Hercules selbständig die Logfiles der laufenden Instanz durchsuchen kann, und ggf. schon eine Lösung anbietet. Ist dies nicht der Fall, kann Hercules automatisch die Fehlermeldung an Atlassian verschicken
  • Atlassian bietet jetzt auch Wochenendsupport… und das ganze ist kostenlos
  • Atlassian hat Answers veröffentlich. Ein Online Frage und Antwort Tool, dass die Community mit Inhalt füllt
Commit Graph in Fisheye
  • der Commit Graph in der neusten Fisheye Version zeigt an, welcher checkin in welchem Branch gemacht und wann dieses gemerged wurde
  • verbindet man Fisheye mit Cruicible und Jira, kann man hier auch Codereviews und Issues in den verschiedenen Branches sehen (find ich sehr cool)
one more thing…
Jira Mobile Connect
  • In der 20% Zeit der Entwickler wurde Jira Mobile Connect entwickelt. Eine Möglichkeit Issues direkt aus einer iPhone App in Jira eintragen zu lassen
  • Man baut die Jira Extension einfach in seine iPhone App ein und bekommt die Möglichkeit Feedback von Benutzern zu bekommen
  • Zusätzlich zum Bug zeigt Jira die Position des Benutzers auf einer Google Map an
  • Android soll in den nächsten Wochen folgen
  • … und das ganze ist umsonst!
Ach ja: Der Gewinner des Best Overall Plugins in der Codegeist 2011 Competition kommt aus Deutschland. Herzlichen Glückwunsch an Tobias Anstett von k15t Software

Atlassian Summit Tag 1

7 Jun

In San Francisco findet dies Jahr mal wieder die Atlassian User Conference statt. Mit über 600 Teilnehmern, Partnern und Atlassians ist der Summit ein wenig kleiner (aber nicht weniger interessant) als die nebenan stattfindende Apple iKonferenz WWDC.

Gestern startete die Konferenz mit einen Training Tag (Jira und Confluence) und der Kick-Off Party im InterConti. Bei Bier und Fingerfood konnte ma sein Netzwerk erweitern und sich echt coole Tools/Plugins für Atlassian Produkte ansehen.

Keynote

Dienstag morgen hielt Mike Cannon Brookes die 1. Keynote des Sumits mit unglaublich coolen Neuerungen in Jira(4.4) und Confluence (4.0):

Jira:

  • Zeitzonen in Jira: Zeiten in Jira werden in der eigenen Zeitzone angezeigt. Cool für verteilte Teams! Jira weiß außerdem, welcher User in welcher Zeitzone sitzt, so dass man sich beispielsweise die lokale Zeit eines Reporters anzeigen lassen kann
  • Neues Administrator Interface: Viel viel übersichtlicher. Das Interface sieht jetzt viel mehr, wie der Rest von Jira! Für alle, die sich mit der Adminseite beschäftigt haben, ein Gewinn
  • Workflow Designer: Der schon seit langer Zeit angekündigter Worflow Designer wurde vorgestellt (Drag and Drop…). Was ich aber richtig cool fand: Man kann sich grafisch aus Jira anzeigen lassen wo sich der Issue im gesamten Workflow befindet

Confluence

  • Der neue Rich Editor! Dieser Editor mixt Rich Text Editing mit Wiki Markup! Man kann eigentlich gar nicht erklären wie cool dieses Feature ist…. man muss es einfach sehen und nutzen. Die Präsentation hat mich sehr daran erinnert als ich das erste Mal das Eclispe Autocomplete Feature gesehen habe (2003 oder so). Ich würde dieses Feature auch gerne bei der Erstellung dieses Blog-Postes haben!
  • Jira Integration: Man kann jetzt sehr einfach JQLs in Confluence einfügen.So ist die Seite ist immer Up-To-Date mit dem Ergebnis des Queries.

Team Calendars

  • Diese neue Produkt bringt Kalender in Confluence: Einfach Termine teilen… Lange darauf gewartet. Jetzt endlich da!
  • Man kann auch aus Jira einen Kalender erstellen. Dann kann man hier einfach sehen, wann ein Release geplant ist oder wer welchen Issue wann gefixt hat. Sehr Wertvoll.
  • Mashup: Kalender können zusammengelegt werden. Beispielsweise einen Marketing Kalender mit dem Jira Kalender mischen. Man kann dann schnell erkennen wenn das Marketing ein Launch-Event plant, das Release sich aber verschoben hat.

Bonfire

  • Atlassians neues Agiles Testtool! Eine Browser Extension macht es einfach für Tester ein Jira Issue zu öffnen. Wenn beim Testen einer Internetseite ein Fehler gefunden wird, kann man einfach den Bonfire Button drücken und den Fehler in Jira anlegen.
  • Ein cooles Screenshottool macht es möglich, ein Bild der Website zu erstellen und mit Kommentare im Bild zu versehen…
  • Man kann sehr einfach alle Issues tracken.

Genaueres gibt es auch in den Pressemitteilungen im Atlassian Blog

Atlassian Bar in Paris = Freibier

1 Jun


Party
Atlassian hat auf der diesjährigen What’s next Konferenz in Paris die Party geschmissen. Natürlich gab es Freibier aus Australien (Atlas Beer). Einige Gäste konnten auch eins der heiß begehrten Angry Nerds T-Shirts ergattern. Unsere Event Managerin (Helen) meinte dazu: “Noch nie hab ich erwachsene Männer gesehen, die mich so um ein Stück Kleidung angefleht haben

What’s next?

Konferenz oder Party verpasst? Die Atlassian Bar kommt auch nach Deutschland! Versprochen! Updates gibt es hier in meinem Blog!

Follow

Get every new post delivered to your Inbox.

Join 26 other followers