Ich versuche zu entscheiden, ob ich meinen Fehlerverfolgungsprozess für meine eigenen Projekte neu bewerten muss. In den letzten Jahren verfolge ich Fehler nur mithilfe von TODO
Tags im Code und verfolge sie in einer bestimmten Ansicht (ich verwende Eclipse, das über ein anständiges Tag-System verfügt).
Leider frage ich mich, ob dieses System nicht nachhaltig ist. Die Fehler, die ich finde, hängen normalerweise mit einem Codeausschnitt zusammen, an dem ich arbeite. Fehler, die nicht sofort verstanden werden, werden häufig vergessen oder ignoriert. Ich schrieb einen Antrag für meine Frau, die seit fast 9 Monaten einen schweren Defekt hat, und vergesse immer wieder, ihn zu beheben.
Welchen Mechanismus verwenden Sie, um Fehler in Ihren persönlichen Projekten zu verfolgen? Haben Sie ein bestimmtes System oder einen Prozess für dessen Priorisierung und Verwaltung?
quelle
Antworten:
Fogbugz (kostenlose Einzellizenz), wenn es sich um ein langwieriges Projekt oder eine einfache Aufgabenliste handelt (mithilfe von Google-Aufgaben)
quelle
Normalerweise verwende ich ein webbasiertes Revisionskontrollsystem (Github, Bitbucket, Redmine, Google Code, ...), um meinen Quellcode zu speichern und Fehler zu verfolgen. Wenn Sie glauben, dass ein Fehler in einem bestimmten Code vorliegt, können Sie ein Problem mit der Revisionsnummer / Änderungsliste / Änderungsmenge erstellen und angeben, welche Datei und welcher Zeilenbereich Sie vermuten.
quelle
Früher habe ich pro Projekt eine Tabellenkalkulations- / Textdatei verwendet (Aufgabenkommentare im Code lassen sich aus den angegebenen Gründen nicht gut skalieren; sie sind für den Code lokal, und wenn es ein Problem gibt, das nicht vorliegt, rutscht es in der Regel durch die Liste Risse).
Kürzlich habe ich einen Redmine- Server in meinem Heimnetzwerk eingerichtet. Es ist ein bisschen schwergewichtig für ein "Team" von einem, aber ich arbeite in meiner eigenen Zeit an ziemlich vielen Projekten und verwende in der Regel nur die Issue Tracker + Repository-Optionen mit vielleicht der einen oder anderen Wiki-Seite an komplexeren Stellen.
Ein Freund von mir schwört auf Pivotal Tracker für die gleichen Zwecke, aber mein aktueller Arbeitgeber verwendet Redmine intern. Ich dachte, dies würde mir etwas Übung geben. Es ist nicht schlecht.
Für Open-Source-Projekte verwende ich einfach das Issue-Tracking von GitHub.
quelle
Ich habe das kostenlose MANTIS-Bugtracker-System auf meinem gehosteten Webserver installiert (den ich für ein Blog und andere Dinge verwende) und alle meine Mängel darin vermerkt.
Mit anderen Worten, ich führe meine Sachen so, als ob sie professionell und bezahlt wären.
Ich finde, es hilft dabei, eine bessere Denkweise (das Abschließen von Fehlern usw.) beizubehalten und mit anderen in der Industrie üblichen Praktiken in Einklang zu stehen.
Verwenden Sie TODO-Notizen auch in Code usw. - aber nur für Notizen wie: "Eines Tages muss ich dies effizienter machen, die Blasensortierung schadet der Leistung." Oder für sofortige Notizen darüber, wo du hingekommen bist, als du zum Abendessen abgeholt wurdest :)
quelle
Ich benutze das Programm ToDo List, einen Open Source Code von codeproject
http://www.codeproject.com/KB/applications/todolist2.aspx
Sehr schön und mit vielen Funktionen.
quelle
Wir benutzen JIRA an meinem Arbeitsplatz und ich bin ein großer Fan davon. Viele Produkte und Leute sind involviert und es schafft alles prima.
quelle
Ich habe vor einiger Zeit nach einer Antwort dafür gesucht und seitdem ein sehr ordentliches und einfaches System ausgearbeitet, das für mich die folgenden Hauptziele erfüllt:
Ziele in der Reihenfolge ihrer Wichtigkeit:
(3 und 4 sind weniger wichtig, und ich wäre mit einem System einverstanden gewesen, das sie nicht zur Verfügung stellte, aber dieses tut es).
Schritt 1: Holen Sie sich ein Projekt in Bitbucket
Ich verwende bitbucket für die Problemverfolgung und für die Versionskontrolle von Git (zum Beispiel für ein iOS-Projekt in XCode). Ich habe mir FogBUGz (worüber ich jahrelang auf JoelOnSoftware gelesen habe) und GitHub und andere angeschaut, aber bitbucket scheint die besten kostenlosen Funktionen für kleine Teams zu haben.
Schritt 2: Verwenden Sie Bitbucket Issue Tracking im Projekt
Als nächstes habe ich Issue Tracking im selben Bitbucket-Projekt eingerichtet. Mein Projekt verfügt nun über ein Git-Repository und ein Issue-Tracking.
Schritt 3: Problemverfolgung einfach gestalten!
Hierfür verwende ich Bitbucket Cards , ein nettes, einfaches Kanban-ähnliches Frontend für die Bitbucket-Themen. Sie müssen sich nur in Ihrem Bitbucket-Konto anmelden und die gewünschten Spalten einrichten. Ich habe vier Spalten: Backlog, Next, Bugs und Resolved. (Ich denke darüber nach, Bugs mit Backlog zu verschmelzen, aber das macht mir im Moment nichts aus.)
(Dieses Bild stammt aus dem Bitbucket Cards-Blog, nicht aus meinem Projekt, daher unterscheiden sich die Spalten von denen, die ich verwende.)
Mit Bitbucket Cards können Sie einen sehr einfachen Filter für jede Liste einrichten, in dem Sie den Status und die Art (en) von Problemen auswählen, die in einer Kartenspalte aufgeführt sind. Statusprobleme
open
dieser Art findenbug
Sie in der Spalte Fehler .(Dieser stammt aus meinem Projekt: So wähle ich aus, was in der Bug-Spalte steht.)
Was wirklich cool ist, ist, dass, wenn Sie eine Karte von einer Spalte in eine andere ziehen und dort ablegen, sich automatisch der Status des Problems ändert, das die Karte darstellt und dem in der Definition der Zielspalte entspricht.
Eine weitere nette Sache bei Bitbucket Cards ist, dass es nicht so einfach zu einem Timeout kommt. Dies ist von entscheidender Bedeutung, da das Ziel dieses gesamten Aufbaus darin besteht, es einfach zu machen. Daher funktioniert dieses System für mich, anstatt dass ich dafür arbeite. Ich öffne ein Lesezeichen auf meiner Kartenseite und sie bleibt den ganzen Tag über auf einem Chrome-Tab geöffnet.
Das kümmert sich um mein 2. Ziel.
Schritt 4: Binden Sie es mit der Versionskontrolle ein.
Bitbucket-Probleme knüpfen nahtlos an die Versionskontrolle an (wie bei den meisten Mitbewerbern). Wenn ich also mit der Arbeit an einem Problem fertig bin, gebe ich es mit einer Meldung wie "Das Ding zum Whatsit hinzugefügt. Fixes # 245" ein. Wenn ich dies festschreibe, dann drücke und dann meine Seite mit den Bitbucket-Karten neu lade, sehe ich, dass das Problem in die Spalte "Gelöst" verschoben wurde. Cool.
Es ist mein drittes Ziel erreicht.
Schritt 5: Erleichtern Sie das ERSTELLEN von Problemen.
Sie denken wahrscheinlich, dass die Einrichtung dieses gesamten Setups bereits viel zu kompliziert ist, und warum sollte ich dem Prozess eine weitere Web-App hinzufügen? Denken Sie an mein oberstes Ziel: Ich möchte es so einfach machen, eine Aufgabe hinzuzufügen, dass ich nicht den Überblick verliere, bevor ich in den Textbereich komme, in den ich sie eingeben kann, und auch nicht, dass ich meinen Platz verlieren möchte der Code, bis ich fertig bin.
Mit Bitbucket Cards kann ich zwar ziemlich einfach Aufgaben erstellen , aber es ist nur ein bisschen zu klickend, um Ziel 1 vollständig zu erreichen. Sie müssen auf Problem erstellen klicken. dann erscheint ein modaler Editor; Nach der Eingabe Ihres Issue-Titels müssen Sie nach unten scrollen, um die Art (Fehler / Aufgabe) und die Priorität festzulegen. Klicken Sie anschließend auf "Erstellen".
Stattdessen habe ich mich für eine zweite Bitbucket-App namens taskrd entschieden .
Sie können taskrd einrichten, indem Sie ihm Ihr Bitbucket-Login geben und es auf ein Lesezeichen und einen Tab setzen und es den ganzen Tag geöffnet lassen, genau wie Bitbucket-Karten. Taskrd verfügt über einen viel einfacheren Arbeitsablauf zum Hinzufügen einer neuen Aufgabe. Geben Sie diese einfach ein, legen Sie optional die Art und Priorität fest und klicken Sie auf die Schaltfläche Hinzufügen.
(Dieses Bild stammt aus dem Taskrd-Blog.)
Jetzt ist es wohl nicht die Mühe wert, Taskrd mit Bitbucket-Karten oder sogar mit dem eigenen Issue-Entry-System von Bitbucket neu einzurichten. Schließlich muss ich mit Taskrd in meinem Browser auf einen Tab klicken und auf meiner Seite mit Bitbucket-Karten auf Neu laden klicken, damit es aktualisiert und die neue Ausgabe, die ich in der Taskrd-App hinzugefügt habe, abgerufen wird. Tatsächlich stelle ich jedoch fest, dass ich mich im Allgemeinen im oder im anderen Modus befinde: Entweder verwende ich Bitbucket-Karten, um zu organisieren, was ich als Nächstes mache, oder um die Fehlerliste zu durchsuchen, oder ich bin damit beschäftigt, Aufgaben zu codieren und einzugeben / Bugs, wie sie mir einfallen - alles im Schnellfeuermodus. Für diese zweite Arbeitsweise ist das Taskrd großartig: Ich lasse es einfach auf einem separaten Monitor geöffnet und gebe Probleme schnell ein, während ich arbeite.
Damit ist Ziel 1 abgedeckt.
Mein letztes Ziel war einfach / günstig aufzubauen. Naja billig ist es: das alles ist kostenlos. Bitbucket hat kostenlose private Repositories für bis zu fünf Benutzer und die anderen Apps waren kostenlos. Das Setup scheint auf der Grundlage des oben Gesagten nicht trivial zu sein, aber der komplizierteste Teil war das Einrichten von git, um auf das Bitbucket-Repository zu pushen, das überall das gleiche sein wird. Ich musste nichts installieren und die Verbindung beider Apps zu meinem Bitbucket-Repository war ziemlich einfach. Das Einrichten der Kartenspalten, wie ich sie mochte, erforderte ein wenig Spielerei, war aber nicht wirklich schwierig.
Wenn ich das zurücklese, komme ich vielleicht ein bisschen wie ein Schilling für Bitbucket raus - aber das will ich wirklich nicht. Es ist nur so, dass ich diesen Prozess seit Wochen verwende - nachdem ich jahrelang verschiedene Konfigurationen ausprobiert habe, um zu verfolgen, was ich tue - und es wirklich ausgrabe, also dachte ich, ich würde mir die Zeit nehmen, es für andere zu gestalten.
quelle
Wenn Sie mit der Verwendung von TODO-Tags in Eclipse vertraut sind, besteht ein einfacher Schritt darin, Mylyn zu verwenden . Im einfachsten Fall handelt es sich um eine einfache Aufgabenliste. Es verknüpft jedoch auch den Kontext mit Aufgaben - klicken Sie auf eine Aufgabe, um sie zu aktivieren, erledigen Sie einige Aufgaben, und wenn Sie sie das nächste Mal aktivieren, öffnet Eclipse die relevanten Klassen und zeigt Ihnen die relevanten Methoden. Noch leistungsfähiger ist es, wenn Sie irgendwann zu einem anderen Fehlerverfolgungssystem wechseln, dass Mylyn Aufgaben von diesen Systemen abruft und sie in Ihrer IDE präsentiert.
In den meisten Eclipse-Downloads ist Mylyn standardmäßig enthalten. Durchsuchen Sie einfach die Aufgabenlistenansicht und beginnen Sie mit dem Hinzufügen von Aufgaben.
quelle
Ich benutze die $ 10 Starter Lizenz für Jira. Es ist billig und ich kenne es schon gut von der Arbeit.
quelle
Wie andere hier verwende ich entweder eine Textdatei oder den Bug-Tracker, der in den Hosting-Service von dvcs integriert ist.
Vieles hängt davon ab, um was für ein "persönliches Projekt" es sich handelt. Wird es jemals das Licht der Welt erblicken oder ist es nur ein Experiment? Wird dieses Projekt von der Öffentlichkeit genutzt?
Zum Beispiel wurde eines meiner persönlichen Projekte mäßig populär und die Einrichtung einer Get Satisfaction- Site funktionierte sehr gut. Nicht wirklich "Bug-Tracking", aber es funktionierte hervorragend für Bug- / Feature-Anfragen.
quelle
Ein bisschen überrascht, dass noch niemand dies gesagt hat, aber es gibt verteilte Bug-Tracking-Lösungen, die als Teil Ihrer verteilten Quellcodeverwaltung fungieren, dh die Bug-Datenbank lebt mit Ihrem Code in Ihrer Revisionskontrolle. Bekannte Implementierungen sind "Bugs Everywhere", Fossil und Ditz.
Siehe https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-tracking und https://stackoverflow.com/questions/1851221/distributed-bug-tracker-to-go-with-dvc?rq=1 für eine Diskussion.
quelle
Für meine persönlichen Projekte verwende ich Omnifocus.
Update: 25.10.2010 Wenn ich einen Fehler finde, den ich nicht sofort beheben kann oder will, füge ich ihn schnell dem Omnifocus-Posteingang hinzu. Wenn ich dann später eine Überprüfung durchführe, sammle ich alle Informationen, die ich für nötig halte, um den Fehler zu beheben, und füge sie dann dem Projekt hinzu. Die Position in der Aufgabenliste zeigt die relative Wichtigkeit an.
Ich behandle Fehler in den meisten Punkten genauso wie Anforderungen / Funktionen.
quelle
Für persönliche Projekte genügen mir in der Regel TODO-Kommentare und eine Textdatei mit TODOs und Bugs etc.
quelle
Ich verwende meine eigene TheKBase (da ich auf OSX bin, verwende ich sie auf .Net in einer virtuellen Maschine oder in Mono, abhängig von meiner Stimmung). Nur für einen gleichzeitigen Benutzer, aber: Es werden mehrere Hierarchien zugelassen, sodass vom Task-Manager zum Informations-Manager keine Schritte dazwischen fehlen. Außerdem ist es Open Source auf Github und kostenlos (das ist offensichtlich, denke ich).
Für die Neugierigen gibt es hier Anleitungen .
quelle
Ich benutze ToDoList für meine persönlichen Projekte. Es ist leicht, kostenlos und hat viele Funktionen. Ich bin nicht sicher, wie gut es für Teamprojekte skaliert, aber es ist großartig, wenn ich alleine arbeite. Ich bin mir nicht sicher, wie ich es überlebt habe, die integrierte Aufgabenliste von Visual Studio so lange zu verwenden, es ist Mist.
quelle
Wir verwenden eine Kombination aus JIRA und Google Text & Tabellen. Ich habe mir andere Tools angesehen, da unsere JIRA-Installation älter als Dirt ist und nicht so einfach zu bedienen ist wie die neueren, schickeren Benutzeroberflächen mit Drag & Drop.
Ich habe mich mit Manymoon, Zoho Projects, Insightly, Redmine und Assembla befasst. Wir werden mit dem kostenlosen Assembla-Stand-Up-Tool experimentieren . Es ist eine sehr einfache 3-Feld-Berichtsoberfläche, die jedem Teammitglied 3 Fragen stellt: Was haben Sie letzte Woche getan? Was wirst du diese Woche machen? Welche Barrieren stehen Ihnen im Weg?
Letztendlich denke ich, dass ich bei JIRA, Google Docs und dem Assembla-Stand-up-Tool bleiben werde, da mir die Kombination alles bietet, was ich brauche.
quelle
Trac gefällt mir am besten, weil es leicht, benutzerfreundlich und einfach zu konfigurieren ist. Und das integrierte Wiki und der elegante Repository-Browser sind ein großes Plus.
Bei der Arbeit verwenden wir JIRA, was auch ganz nett ist, aber nicht so einfach zu verwalten. Und ich vermisse wirklich ein Wiki (Integration mit Confluence ist nicht so toll) und einen guten Repository-Browser (wir haben nur ViewVC).
quelle
Ich benutze Trac seit ein paar Jahren. Ich habe auch Bugzilla und JIRA benutzt. Meine persönlichen und privaten Beratungsprojekte beziehen Trac ein, nur weil ich es gewohnt bin und um ein Projekt in meinem persönlichen Entwickler-Setup in Gang zu bringen, ist der Aufwand so gering, weil der Aufwand vorbei ist. Ich habe Trac mit allem verbunden, was ich brauche, einschließlich SVN oder Git und Hudson (oder besser gesagt Jenkins jetzt).
Bei einigen Kundenprojekten gibt es in der Regel keine andere Wahl als das, was sie verwenden, was leider oft genug nichts oder etwas in Hausmüll ist. Ich bin überrascht, wenn sie in letzter Zeit einen Bug-Tracker haben. Persönlich freue ich mich jedoch auf ein besseres Angebot der OSS-Community als Trac. Es wird alles erledigt, aber heutzutage scheint es so ein Patchwork zu sein.
quelle
Ich sehe keinen Sinn darin, die formale Fehlerüberwachung für kleine Ein-Mann-Projekte zu verwenden. Normalerweise führe ich nur eine (sehr kurze) mentale Liste und behebe die Fehler, sobald ich auf sie aufmerksam werde. Natürlich ist dies nicht für große Projekte / Projekte mit mehreren Personen skalierbar, aber der Punkt ist, dass dies nicht erforderlich ist.
quelle
Wenn Sie ReSharper verwenden, verfügt es über ein
TODO tracker
, das eine Liste allerTODO
s,NOTE
s undBUG
s in Ihrer Lösung anzeigt . Außerdem werden sie in Ihrem Code in einer beliebigen Farbe hervorgehoben. Ich finde das wirklich nützlich für meine eigenen Projekte.quelle