Kişisel projelerinizdeki hataları nasıl takip ediyorsunuz? [kapalı]


45

Evde yetiştirilen projelerim için kusur izleme sürecimi yeniden değerlendirmem gerekip gerekmediğine karar vermeye çalışıyorum. Son birkaç yıldır, sadece TODOkoddaki etiketleri kullanarak ve bunları belirli bir görünümde takip ederek hataları izliyorum (iyi bir etiketleme sistemine sahip Eclipse kullanıyorum).

Ne yazık ki, bu sistemin sürdürülemez olup olmadığını merak etmeye başladım. Bulduğum kusurlar üzerinde çalıştığım kod pasajı ile ilişkilidir; Hemen anlaşılmayan hatalar unutulma veya göz ardı edilme eğilimindedir. Neredeyse 9 aydır ciddi bir kusuru olan karım için bir başvuru yazdım ve düzeltmeyi unutmaya devam ediyorum.

Kişisel projelerinizdeki hataları izlemek için hangi mekanizmaları kullanıyorsunuz? Özel bir sisteminiz veya onları önceliklendirmek ve yönetmek için bir süreciniz var mı?


Check out todo.ly
Job

1
Bu, sss'in konuyla ilgili olarak düşündüğü bir soru olarak çizginin üzerinde olabilir. "Hangi teknoloji daha iyi?"
jzd

Trello bu tür şeyler için harika bir araçtır ve ücretsizdir.
gahooa

Yanıtlar:


25

Fogbugz (ücretsiz bireysel lisans), eğer uzunca bir proje veya yapılacaklar listesi basitse (Google görevlerini kullanarak)


7
Güzel. FogBugz'in ücretsiz bir sürümü olduğunu bilmiyordum (arayanlar için Öğrenci ve Başlangıç ​​Sürümü).
Eric King

Basit bir bakışta, çok ilginç görünüyor
bedwyr

FogBugz'ı kullandıktan sonra, birinin nasıl farklı bir şeyi tercih ettiğini göremiyorum. Birden fazla fogbugz hesabını takip etmek zorunda kalmamak için, kendim için tek bir kişisel fogbugz yarattım
Earlz

17

Kaynak kodumu saklamak ve hataları izlemek için genellikle web tabanlı bir revizyon kontrol sistemi (Github, Bitbucket, Redmine, Google Code, ...) kullanıyorum. Belirli bir kodda bir hata olduğunu düşünüyorsanız, revizyon numarası / değişiklik listesi / değişiklik kümesi ile ilgili bir sorun oluşturabilir ve hangi dosyayı ve şüphelendiğiniz satır aralığını belirleyebilirsiniz.


8

Proje başına bir elektronik tablo / metin dosyası kullanırdım (Yapılacaklar kodundaki ToDo, listelediğiniz nedenler için iyi ölçeklenemiyor; bunlar kodun yerelindeydi ve bu bir sorun yoksa, kayma eğilimindedir. çatlaklar).

Son zamanlarda ev ağımda bir Redmine sunucusu kurdum . Birinden birinin "takımı" için biraz ağır, ancak kendi zamanım boyunca çok az sayıda proje üzerinde çalışıyorum ve Issue Tracker + Repository seçeneklerini sadece tuhaf wiki sayfasıyla daha karmaşık yerlerde kullanma eğilimindeyim.

Bir arkadaşım Pivotal Tracker tarafından aynı amaçlara yemin ediyor , ancak şu andaki işverenim Redmine'ı dahili olarak kullanıyor, bu yüzden bunun bana biraz pratik yapacağını düşündüm. Fena değil.

Açık kaynaklı projeler için sadece GitHub'un sorun takibini kullanıyorum.


Dokümanları düzenli olarak oluşturduğunuz sürece Kodtaki Yapılacaklar yorumları Doxygen / benzeri ek açıklamalar ise daha iyi sonuç verir. Üretilen belgelerde toplanan todos (ve böcek) listesini alırsınız. Özel bir hata izleyicinin esnek raporlama seçeneklerinin olmadığı açıktır ve ek açıklamalar mevcut sürümden silindiğinde depounuzdaki eski (sözde) çözülmüş hataları aramayacaksınız, ancak küçük resimler için oldukça iyi çalışabilir. basit projeler.
Steve314

7

Aslında Free MANTIS bugtracker sistemini barındırılan web sunucuma (bir blog ve diğer şeyler için kullanıyorum) kurdum ve tüm hatalarımı buna koydum.

Başka bir deyişle, eşyalarımı profesyonel ve ücretli olarak çalıştırıyorum.

Endüstride yaygın olarak kullanılan diğer uygulamalarla tutarlı olmanın yanı sıra daha iyi bir zihniyetin (kusurların kapatılması vb.) Korunmasına yardımcı olur.

Kodda vb. TODO notlarını da kullanın - ancak yalnızca kendileri gibi olan notlar için: "bir gün bunu daha verimli hale getirmeliyim, baloncuklar performansa zarar veriyor". Veya akşam yemeğinde ne zaman kalktığınızı nereden bulabileceğinize dair daha fazla not almak için :)


MANTIS kullandım ve harika!
İş


5

İşyerimde JIRA kullanıyoruz ve ben bunun büyük bir hayranıyım. Çok sayıda ürün ve insan katılıyor ve her şey yolunda gidiyor.


+1 Jira, karşılaştığım en iyi sorun takip sistemi. Kullanmaya başlamak kolaydır, gerektiğinde kademeli olarak daha gelişmiş özellikler kullanır. Teknik olmayan kullanıcıların bile sorunları rapor etmeleri ve takip etmeleri için yeterince kolay.
Maglob

Başka bir övgü. Jira, kuvvetli bir şekilde "ekzotermik" bir araçtır, içine koyduğunuzdan daha fazlasını verir, bu da olumlu bir geri besleme döngüsünü tetikler :)
Maglob

4

Bir süre önce bunun için bir cevap aradım ve o zamandan beri benim için bu önemli hedefleri karşılayan çok temiz ve basit bir sistem geliştirdim:

Önem sırasına göre hedefler:

  1. Yeni bir göreve / böceğe olabildiğince zahmetsizce girmeyi mümkün kılın, böylece onu görür görmez veya hayal kurar görmez aşağıya not edebilirim ve yerimi kaybetmeden kodlamaya geri dönebilirim.
  2. Çok fazla arama, tıklama, sondaj olmadan sorunları görmeyi ve yönetmeyi kolaylaştırın.
  3. Sürüm kontrolü ile bağlanmayı kolaylaştırın, böylece daha sonra bir sorunu çözmek için hangi değişikliklerin yapıldığını veya hangi görev veya hatanın kodda belirli bir değişikliği sağladığını öğrenebilirim.
  4. Kurulumu nispeten kolay hale getirin: minimum kurulum ve konfigürasyon ve minimum fiyat.

(3 ve 4 daha az önemli, ve onları sağlamayan bir sistem ile iyi olurdu, ama bu yapıyor).

Adım 1: Bitbucket'te bir proje edinin

Kullandığım bitbucket (örneğin XCode bir iOS projesi için) konu takibi için ve git sürüm kontrolü için. FogBUGz'a baktım (JoelOnSoftware'de yıllarca okudum) ve GitHub ve diğerleri, ancak bitbucket küçük takımlar için en iyi ücretsiz özelliklere sahip görünüyor.

Adım 2: Projede Bitbucket Sorun Takibini Kullan

Sonra aynı bitbucket projesinde sorun takibi kurdum. Yani benim projem şimdi bir git depo ve sorun takibi var.

Adım 3: Sorun takibini kolaylaştırın!

Bunun için Bitbucket sorunları için güzel, basit bir kanban benzeri ön uç olan Bitbucket Kartları kullanıyorum . Sadece Bitbucket hesabınıza giriş yapmanız ve istediğiniz sütunları ayarlamanız yeterli. Dört sütunum var: Bekletme, İleri, Hatalar ve Çözüldü. (Bug'leri Backlog ile birleştirmeyi düşünüyorum, ama şimdilik bunu boşver)

Bitbucket Kartları örneği (Bu resim benim projemden değil Bitbucket Kartları blogundan geliyor, dolayısıyla sütunlar kullandıklarımdan farklı.)

Bitbucket Kartları, bir kart sütununa giren sorunların durumlarını ve türlerini seçtiğiniz her liste için çok basit bir filtre ayarlamanızı sağlar. Yani, opentürün durum sorunları Bug sütununda buggider .

Sütun tanımı (Bu benim projemden: Bug sütununda ne olacağını seçiyorum)

Asıl sorun, bir kartı bir sütundan diğerine sürükleyip bıraktığınızda, kartın temsil ettiği sorunun durumunu, hedef sütunun tanımındakiyle eşleşecek şekilde otomatik olarak değiştirmesi.

Bitbucket Kartları ile ilgili bir diğer güzel şey de kolay zaman aşımı olmamasıdır. Bu çok önemlidir, çünkü bütün bu kurulumun amacı onu kolaylaştırmaktır - yani bu sistem benim için çalışmak yerine benim için çalışıyor. Kart sayfamın bir yer imini açıyorum ve tüm gün Chrome sekmesinde açık kalıyor.

Bu benim ikinci hedefime bakıyor.

Adım 4: Sürüm kontrolü ile bağlayın.

Bitbucket sorunları sürüm kontrolüyle (rakiplerin çoğunda olduğu gibi) düzgün bir şekilde bağlanır, bu yüzden bir sorun üzerinde çalışmayı tamamladığımda "ne pahasına whato'yu ekledi." Bunu kabul edersem, sonra itin, sonra Bitbucket Kartları sayfamı yeniden yükleyin, sorunun Çözülmüş sütununa taşındığını göreceğim. Güzel.

İşte 3 hedefim var.

Adım 5: Sorunları yaratmayı kolaylaştırın.

Muhtemelen tüm bu kurulumun zaten kurulum için karmaşık bir yöntem olduğunu ve neden sürece başka bir web uygulaması eklemek isteyeceğimi düşünüyorsunuz. Pekala, yukarıdaki asıl hedefimi hatırla: Metin alanına girmeden önce düşünce trenimi kaybetmediğim bir görevi eklemeyi o kadar kolaylaştırmak istiyorum, ne de yerimi kaybetmek istemiyorum Yaptığım zaman kod.

Şimdi, Bitbucket Kartları, işleri oldukça kolay bir şekilde oluşturmama izin veriyor , ancak hedef 1'e tam olarak ulaşmak için biraz tıklamak / kaydırmak biraz. Sorun Yarat'ı tıklatmanız gerekir; sonra bir modal editör açılır; sayı başlığınızı girdikten sonra tür (hata / görev) ve önceliği belirlemek için aşağı kaydırmanız gerekir; sonra oluştur düğmesine tıklayın.

Onun yerine denilen ikinci bir Bitbucket uygulamasını kullanmayı tercih taskrd .

Görev çubuğunu Bitbucket giriş bilgilerinizi vererek ayarlayabilir ve bir yer imi ve sekmesine ayarlayabilir ve tüm gün, tıpkı Bitbucket kartları gibi açık tutabilirsiniz. Taskrd, yeni bir görev eklemek için çok daha basit bir iş akışına sahiptir, sadece yazın, isteğe bağlı olarak tür ve önceliği ayarlayın ve Ekle düğmesine basın.

tasrkd arayüzü (bu resim Taskrd blog'undan alınmıştır)

Şimdi, Taskrd'yi Bitbucket Kartları veya hatta Bitbuckets'in kendi sorunlu giriş sistemi kullanarak kurma çabalarına değmeyeceği tartışılabilir. Sonuçta, Taskrd ile tarayıcımdaki bir sekmeyi tıklatmalı ve Taskrd uygulamasında eklediğim yeni sayıyı yenilemek ve almak için sayfamda Bitbucket Kartları ile Yeniden Yükle'yi tıklamam gerekiyor. Ama aslında, genel olarak modda olduğumu ya da diğerini buluyorum: Ya sonra yapacağımı düzenlemek ya da hata listesine bakmak için Bitbucket Kartları kullanıyorum ya da kodlama ve görev girmekle meşgulüm / benim başıma gelen böcekler - hepsi hızlı ateş modunda. Bu 2. çalışma modu için Taskrd harika: Sadece ayrı bir monitörde açık tutuyorum ve çalışırken hızla konulara giriyorum.

Bu da # 1 hedefini kapsıyor.

Son hedefim kolay / ucuz kurulumdu. Peki ucuz: tüm bu ücretsiz. Bitbucket, beş kullanıcıya kadar ücretsiz özel depoya sahiptir ve diğer uygulamalar ücretsizdir. Kurulum, yukarıdakilere dayanarak önemsiz görünüyor, ancak gerçekten en karmaşık kısım, her yerde aynı olacak olan bitbucket deposuna itmek için git'i ayarlamaktı. Hiçbir şey yüklemek zorunda değildim ve her iki uygulamayı da bitbucket depomuza bağlamak oldukça kolaydı. Kart sütunlarını nasıl sevdiğim gibi ayarlamak, biraz oynamaya başladı ama zor değildi.

Bunu geri okuduğumda, Bitbucket için biraz şaşırdım - ama gerçekten demek istemiyorum. Sadece bu süreci haftalardır kullanıyorum - yıllarca ne yaptığımı izlemek için farklı konfigürasyonlar denedikten sonra - ve gerçekten kazıyorum, bu yüzden başkaları için zaman ayırmaya başlayacağımı düşündüm.


3

Eclipse'de TODO etiketlerini kullanmayı biliyorsanız, basit bir adım Mylyn kullanmak olacaktır . En basitinde basit bir yapılacaklar listesi. Ancak, aynı zamanda bağlamı görevlerle de ilişkilendirir - etkinleştirmek için bir göreve tıklayın, bazı şeyler yapın ve bir dahaki etkinleştirdiğinizde Eclipse ilgili sınıfları açacak ve size ilgili yöntemleri gösterecektir. Daha da güçlü bir şekilde, sonunda başka bir hata izleme sistemine geçerseniz, Mylyn bu sistemlerden görevler alabilir ve IDE'nizde sunabilir.

Bu günlerde Eclipse indirmelerinin çoğu standart olarak Mylyn içeriyor. Görev Listesi görünümünde arama yapın ve görev eklemeye başlayın.


+1 Mylyn'i gördüm, ama korkarım Eclipse'deki görevlerden daha fazla bana yardımcı olmayacak. Kodda doğrudan görülemeyen hatalar, karışıklıkta kaybolma eğilimindedir, bu yüzden açık olmadığında Eclipse'ye bir hata eklerim daha düşük olur :)
bedwyr

TODO etiketlerini kullanıp kendimi yapılacaklar listesi yapmak için find / grep -o komutunu kullanıyorum.
Sal

3

Jira için 10 dolarlık başlangıç ​​lisansını kullanıyorum. Ucuz ve ben zaten işten iyi biliyorum.


2

Burada diğerleri gibi ben ne bir dvcs barındırma hizmeti içine inşa edilmiş bir metin dosyası veya hata izci kullanın.

Bunların çoğu ne tür bir "kişisel proje" olduğuna bağlıdır. Günün ışığını görecek bir şey mi, yoksa sadece bir deney mi? Bu proje halk tarafından kullanılıyor mu?

Örneğin, kişisel projelerimden biri orta derecede popüler oldu ve bunun için gerçekten iyi çalıştığı için bir Memnuniyet Al sitesi oluşturdu. Gerçekten "hata izleme" değil, hata / özellik istekleri için harika çalıştı.


2

Bunu henüz kimsenin söylemediğine şaşırdım, ancak dağıtılmış kaynak kontrolünüzün bir parçası olan dağıtılmış hata izleme çözümleri var, yani hata veritabanı revizyon kontrolünüzdeki kodunuzla birlikte yaşıyor. İyi bilinen uygulamalar arasında "Her Yerde Hatalar", Fosil ve Ditz bulunmaktadır.

Bkz https://stackoverflow.com/questions/773818/distributed-projectmanagement-bug-tracking ve https://stackoverflow.com/questions/1851221/distributed-bug-tracker-to-go-with-dvc?rq=1 bir tartışma için.


1

Kişisel projelerim için Omnifocus kullanıyorum.

Güncelleme: 25/10/2010 Derhal düzeltmek istemediğim veya istemediğim bir hata bulursam, hemen Omnifocus gelen kutusuna ekliyorum. Daha sonra, bir inceleme yaparken, hatayı düzeltmem ve projeye eklemem gerektiğini düşündüğüm tüm bilgileri toplayacağım. Görev listesindeki konumu göreceli önemini gösterir.

Böcekleri, birçok bakımdan gereksinimler / özellikler ile aynı şekilde ele alıyorum.


2
Yanıt için teşekkürler: Özel olarak hata izlemesi için nasıl kullandığınıza dikkat eder misiniz?
bedwyr

Güncelleme için teşekkürler! Hata yönetimi için genel bir yapılacaklar takımının kullanıldığını görmek ilginçtir.
bedwyr

Not: Sadece Apple ürünleri için
Mark C

Omnifocus bir Apple ürünüdür, ancak Apple dışı gelişimim için kullanıyorum.
Henry

1

Kişisel projeler için, TODO yorumları ve TODO'lar ve böcekler vb. İçeren bir metin dosyası benim için yeterli.



1

ToDoList'i kişisel projelerim için kullanıyorum ; hafif, ücretsiz ve çok sayıda özelliğe sahip. Ekip projeleri için ne kadar iyi ölçeklendiğinden emin değilim, ancak tek başıma çalışmak benim için harika. Visual Studio'nun yerleşik görev listesini kullanarak bu kadar süre nasıl hayatta kaldığımdan emin değilim, bu çok saçma.


Küçük kişisel projelerimde ReSharper TODO listesi benim için çalışıyor.
Kimse

1

JIRA ve Google Belgeler ve E-Tabloların bir birleşimini kullanıyoruz. JIRA kurulumumuz kirden daha eski ve yeni, meraklısı, sürükle ve bırak arayüzleri kadar kolay olmadığından diğer araçlara baktım.

Manymoon, Zoho Projects, Insightly, Redmine ve Assembla'ya baktım. Assembla ücretsiz Stand Up aracını deneyeceğiz . Her ekip üyesine 3 soru soran çok basit bir 3 alan raporlama arayüzü: Geçen hafta ne yaptınız? Bu hafta ne yapacaksın? Yolunuzda hangi engeller var?

Sonunda, JIRA, Google Dokümanlar ve Assembla Stand Up aracına bağlı kalacağımı düşünüyorum, çünkü kombinasyon bana ihtiyacım olan her şeyi veriyor.


1

En çok Trac'i seviyorum, çünkü hafif, kullanımı kolay ve yapılandırması kolay. Ve entegre wiki ve zarif depo tarayıcısı büyük bir artı.

İşyerinde ayrıca oldukça hoş, fakat yönetimi o kadar kolay olmayan JIRA kullanıyoruz. Ve bir wiki'yi (Confluence ile entegrasyon o kadar da iyi değil) ve iyi bir depo tarayıcıyı (sadece ViewVC’ye sahibiz) çok özlüyorum.


Trac, ayarlamak ve yapılandırmak için bir kabustur.

1

Trac'i son birkaç yıldır kullanıyorum. Bugzilla ve JIRA'yı da kullandım. Kişisel ve özel danışmanlık projelerim Trac'i içeriyor, çünkü buna alışığım ve kişisel gelişim kurulumumda bir projeye ulaşmak için çok az çaba harcıyor, çünkü çaba bitiyor. SVN veya Git ve Hudson (ya da daha şimdiden Jenkins ile birlikte) dahil olmak üzere ihtiyaç duyduğum her şeye sahibim .

Bazı müşteri projelerinde genellikle başka seçenek yoktur ama ne kullandıkları, maalesef evdeki saçmalıkların hiçbiri ya da hiçbiri yeterli değildir. Son zamanlarda bir böcek takipçisi olduklarında şaşırdım. Şahsen, OSS topluluğundan Trac'den daha iyi bir teklif bekliyorum. İşleri halleder ama bugünlerde böyle bir patchwork gibi görünüyor.


Trac kurup yönetmenin kabusu.

0

Küçük tek kişilik projeler için resmi hata takibi kullanmanın amacını görmüyorum. Genellikle sadece (çok kısa) bir zihinsel liste tutarım ve farkına vardıkça hataları gideririm. Tabii ki bu büyük / çok kişili projeler için ölçeklendirilmiyor, fakat asıl önemli olan ihtiyaç olmadığı.


3
Kısmen sorun bu: bir zihinsel liste yetersizdir. Kusurlarımın çoğu zihinsel olarak günlüğe kaydedilir ve yeni özellikler ve geliştirmeler yapıldıktan sonra zamanla kaybolur.
bedwyr

@bedwyr, yeni özellikleri uygulamadan önce bilinen tüm hataları düzeltme kuralına uyursanız, bu bir sorun değildir.
Kevin Laity

@Kevin, bir projenin en son yenilemesi üzerinde çalışırken kusurları önceki sürümlerde bulabilirsiniz. Önceki sürümdeki düşük öncelikli, köşe durumu kusurunu düzeltmek için gelişimi öncelikli bir özellik üzerinde hemen durdurur musunuz? Eğer değilse, onları nasıl izlersiniz? Benim durumumda, zihinsel bir liste yetersizdir.
bedwyr

@bedwyr İyi nokta, sanırım bu bir tercih meselesi. Küçük bir tek kişilik projeden bahsettiğimiz için bu hatayı hemen düzeltebilirim. Büyük bir kurumsal ortamda olsaydım, farklı bir hikaye.
Kevin Laity

0

ReSharper kullanıyorsanız, çözümünüzdeki TODO trackertüm TODOs, NOTEs ve BUGs öğelerini gösteren bir a seçeneği vardır . Ayrıca kodunuzda seçtiğiniz herhangi bir renkte onları vurgular. Bunu kendi projelerimde gerçekten faydalı buluyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.