Facebook
Twitter
Google+
Kommentare
7

„Kunden, die diesen Artikel gekauft haben, kauften auch“ in der Softwareentwicklung

Zeit für Ideen. Leider nicht meine, sondern von einem anderen Held. Darüber erfahren hab ich über Sebastian Bergmann. Genug verwirrt? Aber eigentlich sollte die Idee im Mittelpunkt stellen, ich wollte nur mal schnell sagen, dass ich damit kaum was zu tun habe.

Wenn man Sebastian Bergmann hört, dann ist ja schon klar, dass es sich um ein QA- oder QM-Thema handelt und genau das ist es auch. im Prinzip geht es dabei nur um einen Commit-Hook. Ja ich weiß, da gibt es viele, aber was haltet ihr von der Idee, dass er einen darauf hinweist, wenn man vergessen hat eine Datei zu comitten oder sogar sie unzupassen? Hääh? Wie soll denn das gehen? Im Prinzip muss man nur folgende Aussage in den Raum stellen: „Wenn sie in der Vergangenheit Datei A comitted haben, dann haben sie auch immer Datei B angefasst.

Finde den Ansatz genial. Er ist simpel und trotzdem scheint es effizient zu sein. So viel ich weiß, hat Sebastian dies sogar mal in PHP implementiert. Leider fehlen mir dazu die Links. Hatte mir nur die Idee gemerkt weil ich sie toll fand.

Ich würde ja gerne mehr darüber erzählen, aber die Idee ist ja schon in dem einen Satz wunderbar erklärt, deswegen wird es heute mal ein wenig kürzer und wir denken uns alle, wie toll es wäre, wenn wir das mal austesten dürften.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

7 Comments

  1. Ja, ich habe das mal in PHP implementiert. Ganz schmutzig (ein Skript, keine Separation of Concerns, nicht-optimales DB-Schema, …), während einer Zugfahrt von Siegburg nach Zürich, wo ich dann auch gleich abends auf einem Google BarCamp fünf Minuten etwas darüber erzählt habe. Das Skript konnte ein Subversion-Repository in eine SQLite-Datenbank importieren. Die entsprechenden Abfragen waren als Views implementiert. Ein paar Montate später habe ich dann das SQL Schema sowie die Views zusammen mit Boris Erdmann und Kristian Köhntopp überarbeitet.

    Irgendwo habe ich das SQL-Schema mit entsprechenden Views noch rumliegen. Den PHP-Code habe ich leider verloren (da ich kein Subversion mehr verwende auch nicht weiter schlimm, jedenfalls nicht für mich :-).

    Ich hoffe, irgendwann dazuzukommen, das Ganze nochmal „in Richtig“ zu bauen. Dann allerdings mit „pluggable SCM backends“, wobei ich selbst aber nur Git werde implementieren mögen.

    Das Ganze war übrigends keine Idee von mir sondern stammt aus Forschung einer Universität in Deutschland, ich glaube es war die Uni Saarbrücken. Dort hatte man das für Java und Subversion implementiert.

    Reply
  2. Was mein Skript unter anderem getan hat, war nicht nur den Code (Klassen, Methoden, Funktionen) sondern auch die Commit-Messages zu analysieren. Wenn bestimmte Schlüsselwörter in der Commit-Message vorkommen dann wird der Commit als Bugfix markiert. Dadurch kann man sich bspw. eine Top 10 der Dateien anzeigen, die in Bugfix-Commits geändert werden (und daher fehleranfällig sind).

    Reply
  3. Finde die Idee im Grundsatz nicht schlecht und könnte mir auch vorstellen, dass sowas einen vor bösen Fehler bewahrt. Wäre nützlich, wenn man das über die gesamte Belegschaft machen könnte, so ala „Andere User haben bei Commits dieser Files in 95% der Fälle auch File A, B und C commited“.

    Was sich mir da regelrecht aufdrängt wäre die Idee, das ganze evtl. noch an ein Ticketingsystem wie z.B. Redmine anzubinden, wo’s ja schon Kommandos gibt, die man im Commit-Kommentar bei SVN eingeben kann um z.B. Tickets zu schliessen.

    Reply
  4. Genau das ist im Eclipse-Plugin implementiert, das in dem Uni-Projekt entstanden ist. Man klickt auf Commit in der GUI und bekommt Meldungen wie „Wenn Datei A in der Vergangenheit geändert wurde, dann wurden auch Dateien B und C geändert.“

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen