it-swarm.dev

Kişisel projelerinizdeki hataları nasıl takip ediyorsunuz?

Evde yaptığım projeler için kusur izleme sürecimi yeniden değerlendirmem gerekip gerekmediğine karar vermeye çalışıyorum. Son birkaç yıldır, koddaki TODO etiketlerini kullanarak ve belirli bir görünümde izleyerek 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şlıyorum. Bulduğum kusurlar genellikle üzerinde çalıştığım bir kod pasajı ile ilişkilidir; hemen anlaşılmayan hatalar unutulma veya göz ardı etme eğilimindedir. Karım için neredeyse 9 aydır ciddi bir kusuru olan bir başvuru yazdım ve düzeltmeyi unutmaya devam ediyorum.

Kişisel projelerinizdeki hataları izlemek için hangi mekanizmayı kullanıyorsunuz? Belirli bir sisteminiz veya bunları önceliklendirme ve yönetme süreciniz var mı?

45
bedwyr

Fogbugz (ücretsiz bireysel lisans) uzun bir proje veya basit bir liste ise (Google görevlerini kullanarak)

25
Amit Wadhwa

Kaynak kodumu ve parça hatalarımı depolamak 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ümesiyle ilgili bir sorun oluşturabilir ve hangi dosyadan ve satır aralığından şüphelendiğinizi belirtebilirsiniz.

17
Thierry Lam

Proje başına bir e-tablo/metin dosyası kullanıyordum (koddaki Yapılacaklar listesi listelediğiniz nedenlerle iyi ölçeklenmiyor; koda yereldirler ve olmayan bir sorun varsa, çatlaklar).

Son zamanlarda ev ağımda bir Redmine sunucusu kurdum. Birinden oluşan bir "ekip" için biraz ağır, ama kendi zamanımda oldukça az sayıda proje üzerinde çalışıyorum ve daha karmaşık yerlerde sadece garip wiki sayfasıyla Sorun İzleyici + Depo seçeneklerini kullanma eğilimindeyim.

Bir arkadaşım aynı amaçlar için Pivotal Tracker ile yemin ediyor, ancak mevcut işverenim Redmine'ı dahili olarak kullanıyor, bu yüzden bunun bana biraz pratik vereceğini düşündüm. Fena değil.

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

8
Inaimathi

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

Diğer bir deyişle, işlerimi sanki profesyonel ve ücretli gibiyim.

Endüstride yaygın olarak kullanılan diğer uygulamalarla tutarlı (ish) olmanın yanı sıra daha iyi bir zihniyet (kusurları kapatmak, vb.) Tutmaya yardımcı olduğunu düşünüyorum.

TODO notlarını kodda vb. De kullanın - ancak sadece en iyi öz gibi notlar için: "bir gün bunu daha verimli hale getirmeliyim, kabarcık sıralama performansı acıyor". Ya da akşam yemeğine çıkarıldığınızda nereden kalktığınıza dair daha hızlı notlar için :)

7
quickly_now

ToDo List programını kullanıyorum, codeproject'ten bir açık kaynak kodu

http://www.codeproject.com/KB/applications/todolist2.aspx

Çok Güzel ve birçok özelliği ile.

5
Aristos

İşyerinde JIRA kullanıyoruz ve ben de büyük bir hayranıyım. Birçok ürün ve insan dahil ve her şeyi iyi yönetir.

5
PatrickJ

Bir süre önce bunun için bir cevap aramaya geldim ve o zamandan beri benim için bu temel hedefleri karşılayan çok düzgün ve basit bir sistem geliştirdim:

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

  1. Mümkün olduğunca çabuk bir şekilde yeni bir görev/hata girmeyi mümkün kılın, böylece onu fark ettiğimde veya hayal ettiğiniz anda not yazabilir ve yerimi kaybetmeden önce kodlamaya geri dönebilirim.
  2. Çok fazla arama, tıklama, ayrıntıya inmeden sorunları görmeyi ve yönetmeyi kolaylaştırın.
  3. Daha sonra bir sorunu çözmek için hangi değişikliklerin yapıldığını veya kodda belirli bir değişikliği hangi görevi veya hatayı sürdüğünü öğrenebilmem için sürüm kontrolü ile bağlanmayı kolaylaştırın.
  4. Kurulumu nispeten kolaylaştırın: minimum kurulum ve yapılandırma ve minimum fiyat.

(3 ve 4 daha az önemlidir ve ben onlara sağlamadı bir sistem ile iyi olurdu, ama bu yapar).

Adım 1: Bitbucket'te bir proje alın

Sorun izleme ve git sürüm kontrolü için (örneğin XCode'daki bir iOS projesi için) bitbucket kullanıyorum. FogBUGz'a (JoelOnSoftware'da yıllardır okudum) ve GitHub'a ve diğerlerine baktım, ancak bitbucket küçük takımlar için en iyi ücretsiz özelliklere sahip görünüyor.

Adım 2: Projede Bitbucket Sorun İzleme'yi kullanma

Sonra aynı bitbucket projesinde sorun izleme ayarladım. Projem artık bir git deposuna ve sorun izlemeye sahip.

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

Bunun için --- Bitbucket sorunlarına güzel, basit bir kanban benzeri ön uç olan Bitbucket Cards kullanıyorum. Sadece Bitbucket hesabınıza giriş yapmanız ve istediğiniz sütunları ayarlamanız yeterlidir. Dört sütun var: İş Listesi, Sonraki, Bugs ve Çözüldü. (Bugs'u Backlog ile birleştirmeyi düşünüyorum, ama şimdilik boşver)

Bitbucket Cards example (Bu resim Bitbucket Cards blogundandır, projemden değil, bu nedenle sütunlar kullandığımdan farklıdır)

Bitbucket Kartları, kart sütununda yer alan sorunların durumlarını ve türlerini seçtiğiniz her liste için çok basit bir filtre ayarlamanızı sağlar. Yani, open tür bug durum sorunları Hata sütununa gider.

Column definition (Bu benim projemden: Hata sütununda ne olacağını bu şekilde seçiyorum)

Gerçekten güzel olan şey, bir kartı bir sütundan diğerine sürükleyip bıraktığınızda, kartın temsil ettiği sorunun durumunu otomatik olarak hedef sütunun tanımındaki ile eşleşecek şekilde değiştirmesidir.

Bitbucket Kartları ile ilgili bir başka güzel şey de zaman aşımının kolay olmamasıdır. Bu tüm kurulumun amacı kolaylaştırmak olduğu için bu çok önemli - bu sistem benim için çalışmak yerine benim için çalışıyor. Bir yer imi kartım sayfasını açıyorum ve bütün gün bir Chrome sekmesinde açık kalıyor).

Bu benim 2. hedefimle ilgileniyor.

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ı bitirdiğimde "wingo'ya thingo eklendi. # 245" düzeltmeleri gibi bir mesajla gitmeyi taahhüt ediyorum. Bunu yaparsam, sonra da it, sonra Bitbucket Kartları sayfamı yeniden yükle, sorunun Çözüldü sütununa taşındığını göreceğim. Güzel.

3. amacım yapıldı.

5. Adım: Sorun oluşturmayı kolaylaştırın.

Muhtemelen bu tüm kurulumun kurulumu zaten karmaşık bir yol olduğunu düşünüyorsunuz ve neden sürece başka bir web uygulaması eklemek isteyeyim. Yukarıdaki ana hedefimi hatırla: Bir görev eklemeyi o kadar kolaylaştırmak istiyorum ki, metin alanına yazmadan önce düşünce alanımı kaybetmem, ne de yerimi kaybetmek istemiyorum Ben yapılan zaman kodu.

Şimdi, Bitbucket Kartları kolayca adil görevleri oluşturmama izin veriyor, ancak 1 numaralı hedefe tam olarak ulaşmak için sadece tıklamak/kaydırmak biraz. Sorun Oluştur'u tıklatmalısınız; sonra kalıcı bir editör ortaya çıkar; Sorun başlığınızı girdikten sonra, tür (hata/görev) ve önceliği belirtmek için aşağı kaydırmanız gerekir; ardından oluştur'u tıklayın.

Bunun yerine taskrd adlı ikinci bir Bitbucket uygulaması kullanmayı seçtim.

Bitbucket giriş bilgilerinizi vererek taskrd'yi ayarlayabilir ve bir yer imi ve sekmeye ayarlayabilir ve tıpkı Bitbucket kartları gibi tüm gün açık tutabilirsiniz. Görev, 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 interface (bu resim Görev blogundan alınmıştır)

Şimdi Taskrd'ı Bitbucket Kartlarını veya hatta Bitbuckets'in kendi sorun giriş sistemini kullanarak kurmaya çalışmak değmez. Sonuçta, Taskrd ile tarayıcımdaki bir sekmeyi tıklatmam ve Taskrd uygulamasına eklediğim yeni sorunu yenilemesi ve alması için Bitbucket Kartları ile sayfamda Yeniden Yükle'yi tıklatmam gerekiyor. Ama aslında, genel olarak modda ya da diğerinde olduğumu fark ettim: Ya bir sonraki adımda ne yaptığımı düzenlemek ya da hata listesine bakmak için Bitbucket Kartları kullanıyorum ya da kodları girmek ve görevleri girmekle meşgulüm/hatalar bana meydana gelir - hepsi hızlı ateş modunda. Bu 2. çalışma modu için Görev harika: Sadece ayrı bir monitörde açık tutuyorum ve çalışırken hızlı bir şekilde sorunları giriyorum.

Böylece hedef 1'i kapsar.

Son hedefim kolay/ucuz kurulum oldu. Çok ucuz: tüm bunlar ücretsiz. Bitbucket, beş kullanıcıya kadar ücretsiz özel depolara 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 yere aynı olacak bitbucket deposuna git için Git'i ayarlamaktı. Hiçbir şey yüklemem gerekmedi ve her iki uygulamayı da bitbucket veri havuzuma bağlamak oldukça kolaydı. Kart sütunlarını nasıl sevdiğimi ayarlamak biraz oyun oynamayı gerektirdi ama gerçekten zor değildi.

Bunu geri okuduktan sonra, Bitbucket için biraz şilin olarak gelebilirim - ama gerçekten demek istemiyorum. Sadece bu süreci haftalardır kullanıyorum - yıllar boyunca yaptığım şeyi izlemek için farklı konfigürasyonlar denedikten sonra - ve gerçekten kazıyorum, bu yüzden başkaları için zaman ayırmaya çalışacağımı düşündüm.

4
Rhubarb

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

3
speshak

Eclipse'de TODO etiketlerini kullanmayı biliyorsanız, basit bir adım yukarı Mylyn kullanmak olacaktır. En temelde, basit bir yapılacaklar listesi. Ancak, aynı zamanda bağlamı görevlerle ilişkilendirir - etkinleştirmek, bir şeyler yapmak ve ardından bir daha etkinleştirdiğinizde Eclipse ilgili sınıfları açar ve size ilgili yöntemleri gösterir. Daha da güçlü bir şekilde, sonunda başka bir hata izleme sistemine geçerseniz, Mylyn görevleri bu sistemlerden alabilir ve IDE'nizde sunabilir.

Günümüzde çoğu Eclipse indirmesinde Mylyn standart olarak paketlenmiştir. Görev Listesi görünümünü araştırın ve görev eklemeye başlayın.

3
RevBingo

Kinda henüz kimse bunu söylemedi şaşırttı, ancak dağıtılmış kaynak kontrolünüzün bir parçası olarak hareket eden dağıtılmış hata izleme çözümleri vardır, yani hata veritabanı, revizyon kontrolünüzde kodunuzla birlikte yaşar. İyi bilinen uygulamalar arasında "Her Yerde Bugs", Fossil ve Ditz sayılabilir.

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

2
Niall Douglas

Burada diğerleri gibi ben bir metin dosyası ya da ne dvcs barındırma hizmeti yerleşik hata izci kullanın.

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

Örneğin, kişisel projelerimden biri orta derecede popüler oldu ve bir Memnuniyet Al sitesi kurmak gerçekten işe yaradı. Gerçekten "hata izleme" ama hata/özellik istekleri için harika çalıştı.

2
Mike

Kişisel projeler için, TODO yorumları ve TODO ve hatalar içeren bir metin dosyası benim için genellikle yeterlidir.

1

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

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

Hataları çoğu açıdan gereksinimler/özelliklerle aynı şekilde ele alıyorum.

1
Henry

Kişisel projelerim için ToDoList kullanıyorum; hafif, ücretsiz ve birçok özelliği var. Takım projeleri için ne kadar iyi ölçeklendiğinden emin değilim, ancak kendi başıma çalışmak benim için harika. Visual Studio'nun yerleşik görev listesini kullanarak bu kadar uzun süre hayatta kaldığımdan emin değilim, saçmalık.

1
Andrew Arnold

JIRA ile Google Belgeler ve E-Tablolar'ın bir kombinasyonunu kullanıyoruz. JIRA kurulumumuz kirden daha eski olduğu ve daha yeni, meraklısı, sürükle ve bırak arayüzleri kadar kolay olmadığı için diğer araçlara baktım.

Manymoon, Zoho Projects, Insightly, Redmine ve Assembla'ya baktım. Assembla ücretsiz Stand Up aracı ile deney yapacağız. Her takım üyesine 3 soru soran çok basit bir 3 saha raporlama arayüzü: Geçen hafta ne yaptınız? Bu hafta ne yapacaksın? Yolunda ne gibi engeller var?

Sonunda, kombinasyon bana ihtiyacım olan her şeyi verdiğinden, JIRA, Google Dokümanlar ve Assembla Stand Up aracına bağlı kalacağım.

1
jmort253

Trac'i en çok 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 JIRA'yı da kullanıyoruz, bu da oldukça güzel, ancak yönetimi çok kolay değil. Ve gerçekten bir wiki'yi (Confluence ile entegrasyon çok büyük değil) ve iyi bir havuz tarayıcısını (sadece ViewVC'ye sahibiz) özledim.

1
Simon

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çeriyor çünkü buna alışkınım ve kişisel geliştirici kurulumuma devam edecek bir projeye ulaşmak çok az çaba gerektiriyor çünkü çaba bitti. SVN veya Git ve Hudson (ya da şimdi Jenkins) dahil olmak üzere ihtiyacım olan her şeyle bağlantılı trac var.

Bazı müşteri projelerinde genellikle ne kullandıkları dışında bir seçenek yoktur, ki bu ne yazık ki hiçbir şey ya da bir kısmı evdeki saçmalıktır. Son zamanlarda böcek izleyicileri olduğunda şaşırdım. Şahsen olsa da, OSS topluluğundan Trac'den daha iyi bir teklif bekliyorum. İşleri hallediyor ama bugünlerde böyle bir patchwork gibi görünüyor.

1
Johnny

Kendi TheKBase kullanıyorum (OSX'te olduğum için, ruh halime bağlı olarak sanal bir makinede veya Mono'da .Net üzerinde kullanıyorum). Yalnızca bir eşzamanlı kullanıcı için, ancak: Birden çok hiyerarşiye izin verir, bu nedenle görev yöneticisinden bilgi yöneticisine kadar hiçbir adım atmaz. Artı Github ve ücretsiz açık kaynak (bu açık, sanırım).

Meraklı için, talimatlar burada .

1
Dan Rosenstark

ReSharper kullanırsanız, _ TODO tracker, çözümünüzdeki TODOs, NOTEs ve BUGs öğelerinin listesini gösterir. Ayrıca, bunları seçtiğiniz herhangi bir renkte kodunuzda vurgular. Bunu kendi projelerimde gerçekten yararlı buluyorum.

0
Nobody

Küçük tek kişilik projeler için resmi hata izlemenin kullanılmasının nedenini anlamıyorum. Genellikle (çok kısa) bir zihinsel liste tutarım ve onları fark ettikçe hataları düzeltirim. Tabii ki bu büyük/çok kişilikli projeler için ölçeklenmiyor, ama asıl önemli olan bunun gerekmediğidir.

0
dsimcha