it-swarm-vi.com

Làm thế nào để bạn theo dõi lỗi trong các dự án cá nhân của bạn?

Tôi đang cố gắng quyết định xem tôi có cần đánh giá lại quy trình theo dõi khiếm khuyết của mình cho các dự án trồng tại nhà hay không. Trong vài năm qua, tôi thực sự chỉ theo dõi các khiếm khuyết bằng cách sử dụng các thẻ TODO trong mã và theo dõi chúng trong một khung nhìn cụ thể (tôi sử dụng Eclipse, có một hệ thống gắn thẻ khá).

Thật không may, tôi bắt đầu tự hỏi nếu hệ thống này không bền vững. Các lỗi tôi tìm thấy thường được liên kết với một đoạn mã tôi đang làm việc; lỗi không được hiểu ngay lập tức có xu hướng bị lãng quên hoặc bỏ qua. Tôi đã viết một đơn xin việc cho vợ tôi bị khiếm khuyết nặng gần 9 tháng và tôi đã quên không sửa nó.

Cơ chế nào bạn sử dụng để theo dõi các khiếm khuyết trong các dự án cá nhân của bạn? Bạn có một hệ thống cụ thể, hoặc một quy trình ưu tiên và quản lý chúng không?

45
bedwyr

Fogormsz (giấy phép cá nhân miễn phí) nếu đó là một dự án dài hoặc một danh sách đơn giản để làm (sử dụng các tác vụ của Google)

25
Amit Wadhwa

Tôi thường sử dụng hệ thống kiểm soát sửa đổi dựa trên web (Github, Bitbucket, Redmine, Google Code, ...) để lưu trữ mã nguồn của tôi và theo dõi các lỗi. Nếu bạn nghĩ rằng có một lỗi trong một mã cụ thể, bạn có thể tạo ra một vấn đề với số sửa đổi/thay đổi/thay đổi và chỉ định tệp nào và phạm vi dòng bạn nghi ngờ.

17
Thierry Lam

Tôi đã từng sử dụng một bảng tính/tệp văn bản cho mỗi dự án (Nhận xét của ToDo trong mã không mở rộng tốt vì lý do bạn liệt kê; chúng là cục bộ của mã và nếu có vấn đề thì không, nó có xu hướng lướt qua vết nứt).

Gần đây tôi đã thiết lập một Redmine máy chủ trên mạng gia đình của tôi. Nó hơi nặng đối với một "nhóm" gồm một người, nhưng tôi đang làm việc với khá nhiều dự án vào thời gian của mình và có xu hướng chỉ sử dụng các tùy chọn Trình theo dõi vấn đề + Kho lưu trữ với các trang wiki kỳ lạ ở những nơi phức tạp hơn.

Một người bạn của tôi thề bởi Pivotal Tracker cho cùng mục đích, nhưng chủ nhân hiện tại của tôi sử dụng Redmine trong nội bộ, vì vậy tôi nghĩ rằng điều này sẽ cho tôi một số thực hành. Không tệ.

Đối với các dự án nguồn mở, tôi chỉ sử dụng theo dõi vấn đề của GitHub.

8
Inaimathi

Tôi thực sự đã cài đặt hệ thống sửa lỗi miễn phí Mantis trên máy chủ web được lưu trữ của tôi (mà tôi sử dụng cho blog và những thứ khác), và đặt tất cả các khuyết điểm của tôi vào đó.

Nói cách khác, tôi điều hành công cụ của mình như thể nó là chuyên nghiệp và được trả tiền.

Tôi thấy nó giúp giữ một tư duy tốt hơn (loại bỏ các khiếm khuyết, v.v.) cũng như nhất quán (ish) với các thực tiễn khác thường được sử dụng trong công nghiệp.

Cũng sử dụng ghi chú TODO trong mã, v.v. - nhưng chỉ đối với bản ghi chú hàng đầu như: "một ngày nào đó tôi phải làm điều này hiệu quả hơn, sắp xếp bong bóng làm tổn hại đến hiệu suất". Hoặc để biết thêm ghi chú ngay lập tức về nơi bạn thức dậy khi bạn bị lôi ra ngoài ăn tối :)

7
quickly_now

Tôi sử dụng chương trình Danh sách ToDo, một mã nguồn mở từ bảng mã

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

Rất đẹp và có nhiều tính năng.

5
Aristos

Chúng tôi sử dụng JIRA tại nơi làm việc của tôi và tôi là một fan hâm mộ lớn của nó. Rất nhiều sản phẩm và những người liên quan và nó quản lý tất cả đều tốt.

5
PatrickJ

Tôi đã tìm kiếm một câu trả lời cho điều này một thời gian trước đây và từ đó đã tìm ra một hệ thống rất gọn gàng và đơn giản, đáp ứng những mục tiêu chính này cho tôi:

Các mục tiêu theo thứ tự quan trọng:

  1. Làm cho nó có thể nhập một nhiệm vụ/lỗi mới một cách dễ dàng nhất có thể, để tôi có thể ghi lại nó ngay khi tôi phát hiện ra nó hoặc mơ thấy nó, và quay lại mã hóa trước khi tôi mất vị trí của mình.
  2. Giúp bạn dễ dàng xem và quản lý các vấn đề mà không cần tìm kiếm, nhấp chuột, truy sâu.
  3. Giúp dễ dàng liên kết với kiểm soát phiên bản để sau này tôi có thể tìm hiểu những thay đổi đã được thực hiện để giải quyết vấn đề hoặc tác vụ hoặc lỗi nào đã dẫn đến một thay đổi cụ thể trong mã.
  4. Làm cho nó tương đối dễ dàng để thiết lập: cài đặt và cấu hình tối thiểu và giá tối thiểu.

(3 và 4 ít quan trọng hơn và tôi sẽ ổn với một hệ thống không cung cấp cho họ, nhưng hệ thống này thì không).

Bước 1: Nhận một dự án trong Bitbucket

Tôi sử dụng bitbucket để theo dõi sự cố và kiểm soát phiên bản git (ví dụ: đối với một dự án iOS trong XCode). Tôi đã xem FogBUGz (mà tôi đã đọc nhiều năm về JoelOnSoftware) và GitHub và những người khác, nhưng bitbucket dường như có các tính năng miễn phí tốt nhất được đặt cho các nhóm nhỏ.

Bước 2: Sử dụng theo dõi vấn đề Bitbucket trong dự án

Tiếp theo tôi thiết lập theo dõi vấn đề trong cùng một dự án bitbucket. Vì vậy, dự án của tôi bây giờ có một kho git và theo dõi vấn đề.

Bước 3: Thực hiện theo dõi vấn đề dễ dàng!

Đối với điều này, tôi đang sử dụng Thẻ Bitbucket là giao diện đẹp, đơn giản giống như kanban cho các vấn đề về Bitbucket. Bạn chỉ cần đăng nhập vào tài khoản Bitbucket của mình và thiết lập các cột bạn muốn. Tôi có bốn cột: Backlog, Next, Bugs và Resolve. (Tôi đang nghĩ đến việc hợp nhất Bugs với Backlog, nhưng đừng bận tâm đến điều đó bây giờ)

Bitbucket Cards example (Hình ảnh này là từ blog Thẻ Bitbucket, không phải từ dự án của tôi, do đó các cột khác với các cột tôi sử dụng)

Thẻ Bitbucket cho phép bạn thiết lập một bộ lọc rất đơn giản cho mỗi danh sách nơi bạn chọn trạng thái và loại (các) vấn đề xảy ra trong một cột thẻ. Vì vậy, open các vấn đề về trạng thái của loại bug đi trong cột Bug .

Column definition (Cái này là từ dự án của tôi: đó là cách tôi chọn những gì diễn ra trong cột Bug)

Điều thực sự thú vị là khi bạn kéo và thả thẻ từ cột này sang cột khác, nó sẽ tự động thay đổi trạng thái của sự cố mà thẻ thể hiện để khớp với định nghĩa của cột đích.

Một điều thú vị khác về Thẻ Bitbucket là nó không hết thời gian một cách dễ dàng. Điều này rất quan trọng vì mục đích của toàn bộ thiết lập này là để làm cho nó dễ dàng - vì vậy hệ thống này hoạt động với tôi thay vì tôi làm việc cho nó. Tôi mở một trang đánh dấu trang thẻ của tôi và nó vẫn mở trên tab Chrome cả ngày.

Điều này quan tâm đến mục tiêu thứ 2 của tôi.

Bước 4: Buộc nó với kiểm soát phiên bản.

Các vấn đề của Bitbucket liên kết chặt chẽ với kiểm soát phiên bản (như hầu hết các đối thủ cạnh tranh) vì vậy khi tôi hoàn thành một vấn đề, tôi cam kết git với một thông báo như "Đã thêm điều này vào whatsit. Fixes # 245". Nếu tôi cam kết điều này, sau đó Đẩy nó, sau đó tải lại trang Thẻ Bitbucket của tôi, tôi sẽ thấy rằng vấn đề đã được chuyển sang cột Đã giải quyết. Mát mẻ.

Có mục tiêu thứ 3 của tôi đã hoàn thành.

Bước 5: Làm cho nó dễ dàng hơn để TẠO các vấn đề.

Bạn có thể nghĩ rằng toàn bộ thiết lập này đã rất phức tạp để thiết lập và tại sao tôi muốn thêm một ứng dụng web khác vào quy trình. Chà, hãy nhớ mục tiêu chính của tôi ở trên: Tôi muốn làm cho nó dễ dàng hơn để thêm một nhiệm vụ mà tôi không mất đi sự suy nghĩ trước khi tôi đến khu vực văn bản để nhập nó, tôi cũng không muốn mất vị trí của mình mã theo thời gian tôi hoàn thành.

Bây giờ, Thẻ Bitbucket cho phép tôi tạo các tác vụ khá một cách dễ dàng, nhưng chỉ cần một chút để nhấp/scrolly để hoàn thành mục tiêu số 1. Bạn phải bấm vào Tạo một vấn đề; sau đó một trình soạn thảo phương thức bật lên; sau khi nhập tiêu đề vấn đề của bạn, bạn phải cuộn xuống để chỉ định loại (lỗi/nhiệm vụ) và mức độ ưu tiên; sau đó bấm tạo.

Thay vào đó, tôi chọn sử dụng ứng dụng Bitbucket thứ hai có tên taskrd .

Bạn có thể thiết lập taskrd, bằng cách cho nó đăng nhập Bitbucket của bạn và đặt nó trên một dấu trang và tab, và giữ cho nó mở cả ngày, giống như thẻ Bitbucket. Taskrd có một quy trình công việc đơn giản hơn nhiều để thêm một tác vụ mới, chỉ cần nhập nó vào, tùy chọn đặt loại và mức độ ưu tiên, và nhấn nút Thêm.

tasrkd interface (hình ảnh này là từ blog của Nhiệm vụ)

Bây giờ người ta cho rằng không đáng để nỗ lực thiết lập Nhiệm vụ bằng cách sử dụng Thẻ Bitbucket hoặc thậm chí hệ thống nhập vấn đề của Bitbuckets. Rốt cuộc, với Taskrd tôi phải nhấp vào một tab trên trình duyệt của mình và nhấp vào Tải lại trên trang của mình bằng Thẻ Bitbucket để làm mới và nhận được vấn đề mới mà tôi đã thêm trong ứng dụng Nhiệm vụ. Nhưng trên thực tế, tôi thấy rằng tôi thường ở chế độ này hoặc chế độ khác: Hoặc tôi đang sử dụng Thẻ Bitbucket để sắp xếp những gì tôi đang làm tiếp theo hoặc để xem qua danh sách lỗi hoặc tôi đang bận mã hóa và nhập các tác vụ/lỗi khi chúng xảy ra với tôi - tất cả đều ở chế độ bắn nhanh. Đối với chế độ làm việc thứ 2 này, Nhiệm vụ rất tuyệt vời: Tôi chỉ cần mở nó trên một màn hình riêng biệt và nhanh chóng nhập các vấn đề khi tôi làm việc.

Vì vậy, nó bao gồm mục tiêu số 1.

Mục tiêu cuối cùng của tôi là dễ dàng/giá rẻ thiết lập. Nó cũng rẻ: tất cả điều này là miễn phí. Bitbucket có kho lưu trữ riêng miễn phí cho tối đa năm người dùng và các ứng dụng khác đều miễn phí. Thiết lập có vẻ không tầm thường dựa trên những điều trên, nhưng thực sự phần phức tạp nhất là thiết lập git để Đẩy vào kho lưu trữ bitbucket sẽ giống nhau ở mọi nơi. Tôi không phải cài đặt bất cứ thứ gì và việc kết nối cả hai ứng dụng với kho lưu trữ bitbucket của tôi khá dễ dàng. Thiết lập các cột thẻ theo cách tôi thích chúng có một chút chơi xung quanh nhưng thực sự không khó.

Đọc lại điều này, tôi có thể cảm thấy hơi thất vọng với Bitbucket - nhưng tôi thực sự không có ý đó. Chỉ là tôi đã sử dụng quy trình này trong nhiều tuần - sau nhiều năm thử các cấu hình khác nhau để theo dõi những gì tôi đang làm - và tôi thực sự đang đào nó, vì vậy tôi nghĩ rằng tôi đã dành thời gian để trình bày cho người khác.

4
Rhubarb

Tôi sử dụng giấy phép khởi đầu $ 10 cho Jira. Nó rẻ và tôi đã biết nó tốt từ công việc.

3
speshak

Nếu bạn đã quen với việc sử dụng các thẻ TODO trong Eclipse, một bước đơn giản sẽ là sử dụng Mylyn . Cơ bản nhất, đó là một danh sách việc cần làm đơn giản. Tuy nhiên, nó cũng liên kết bối cảnh với các tác vụ - nhấp vào một tác vụ để kích hoạt nó, thực hiện một số thứ và sau đó khi bạn kích hoạt nó, Eclipse sẽ mở ra các lớp có liên quan và chỉ cho bạn các phương thức liên quan. Thậm chí mạnh mẽ hơn, nếu cuối cùng bạn chuyển sang một số hệ thống theo dõi lỗi khác, Mylyn có thể lấy các tác vụ từ các hệ thống đó và trình bày chúng trong IDE của bạn.

Hầu hết các bản tải xuống Eclipse ngày nay đều có Mylyn được đóng gói theo tiêu chuẩn. Chỉ cần tìm kiếm khung nhìn Danh sách nhiệm vụ và bắt đầu thêm các nhiệm vụ.

3
RevBingo

Kinda ngạc nhiên chưa ai nói điều này, nhưng có các giải pháp theo dõi lỗi phân tán hoạt động như một phần của kiểm soát nguồn phân tán của bạn, tức là cơ sở dữ liệu lỗi nằm trong mã của bạn trong kiểm soát sửa đổi. Các triển khai nổi tiếng bao gồm "Lỗi ở mọi nơi", Fossil và Ditz.

Xem https://stackoverflow.com/questions/773818/distribution-projectmanloyment-orms-trackinghttps: //stackoverflow.com/questions/1851221/distribution-orms-tracker-to-go-with-dvc?rq=1 để thảo luận.

2
Niall Douglas

Giống như những người khác ở đây, tôi sử dụng tệp văn bản hoặc trình theo dõi lỗi được tích hợp trong bất kỳ dịch vụ lưu trữ dvcs nào.

Rất nhiều trong số đó phụ thuộc vào loại "dự án cá nhân". Đó có phải là thứ gì đó sẽ không bao giờ nhìn thấy ánh sáng trong ngày hay nó chỉ là một thử nghiệm? Dự án này được sử dụng bởi công chúng?

Ví dụ: một trong những dự án cá nhân của tôi trở nên phổ biến vừa phải và thiết lập một trang web Nhận sự hài lòng cho nó hoạt động thực sự tốt. Không thực sự "theo dõi lỗi" nhưng nó hoạt động rất tốt cho các yêu cầu lỗi/tính năng.

2
Mike

Đối với các dự án cá nhân, các bình luận TODO và một tệp văn bản có TODO và các lỗi, v.v. thường là đủ cho tôi.

1
Sebastian Negraszus

Đối với các dự án cá nhân của tôi, tôi sử dụng Omnif Focus.

Cập nhật: 25/10/2010 Nếu tôi tìm thấy một lỗi mà tôi không thể hoặc không muốn sửa ngay lập tức, tôi nhanh chóng thêm nó vào hộp thư đến Omnif Focus. Sau đó, khi tôi đang thực hiện đánh giá, tôi sẽ thu thập tất cả thông tin mà tôi nghĩ rằng tôi sẽ cần sửa lỗi và sau đó thêm nó vào dự án. Vị trí của nó trong danh sách nhiệm vụ cho thấy tầm quan trọng tương đối của nó.

Tôi đối xử với các lỗi giống như các yêu cầu/tính năng trong hầu hết các khía cạnh.

1
Henry

Tôi sử dụng ToDoList cho các dự án cá nhân của tôi; nó nhẹ, miễn phí và có nhiều tính năng. Không chắc nó có quy mô như thế nào cho các dự án nhóm, nhưng thật tuyệt khi tôi tự làm việc. Tôi không chắc mình đã sống sót như thế nào khi sử dụng danh sách tác vụ tích hợp của Visual Studio trong một thời gian dài, điều đó thật tào lao.

1
Andrew Arnold

Chúng tôi sử dụng kết hợp JIRA và Google Docs và Bảng tính. Tôi đã xem xét các công cụ khác vì cài đặt JIRA của chúng tôi cũ hơn bụi bẩn và không dễ sử dụng như các giao diện mới hơn, lạ hơn, kéo và thả.

Tôi đã xem xét các dự án Manymoon, Zoho, Insightly, Redmine và Assembla. Chúng tôi sẽ thử nghiệm với công cụ Stand Up miễn phí của Assembla . Đó là giao diện báo cáo 3 trường rất đơn giản, hỏi mỗi thành viên trong nhóm 3 câu hỏi: Bạn đã làm gì tuần trước? Bạn sẽ làm gì trong tuần này? Rào cản nào cản đường bạn?

Cuối cùng, tôi nghĩ rằng tôi sẽ gắn bó với JIRA, Google Docs và công cụ Standbla Stand Up, vì sự kết hợp này mang lại cho tôi mọi thứ tôi cần.

1
jmort253

Tôi thích Trac nhất, vì nó nhẹ, dễ sử dụng và dễ cấu hình. Và wiki tích hợp và trình duyệt kho lưu trữ thanh lịch là một điểm cộng lớn.

Trong công việc, chúng tôi sử dụng JIRA, cũng khá đẹp, nhưng không dễ quản lý. Và tôi thực sự nhớ một wiki (tích hợp với Confluence không tuyệt lắm) và một trình duyệt kho lưu trữ tốt (chúng tôi chỉ có ViewVC).

1
Simon

Tôi đã sử dụng Trac trong vài năm qua. Tôi cũng đã sử dụng Bugzilla và JIRA. Các dự án tư vấn cá nhân và tư nhân của tôi liên quan đến Trac đơn giản vì tôi đã quen với nó và để có được một dự án trong thiết lập dev cá nhân của tôi mất rất ít nỗ lực vì nỗ lực đã hết. Tôi đã có kết nối với tất cả những gì tôi cần, bao gồm SVN hoặc Git và Hudson (hay đúng hơn là Jenkins bây giờ).

Trên một số dự án khách hàng thường không có sự lựa chọn nào ngoài những gì họ sử dụng, thường là không có gì hoặc một số điều không may trong nhà. Tôi ngạc nhiên khi họ có một trình theo dõi lỗi gần đây. Cá nhân, tôi đang mong đợi một đề nghị tốt hơn từ cộng đồng OSS hơn Trac. Nó hoàn thành công việc nhưng những ngày này dường như là một sự chắp vá.

1
Johnny

Tôi sử dụng riêng TheKBase (vì tôi đang dùng OSX, tôi sử dụng nó trên .Net trong máy ảo hoặc Mono, tùy thuộc vào tâm trạng của tôi). Chỉ dành cho một người dùng đồng thời, nhưng: Nó cho phép nhiều phân cấp, do đó, nó đi từ trình quản lý tác vụ đến trình quản lý thông tin không thiếu các bước ở giữa. Thêm vào đó là nguồn mở trên Github và miễn phí (đó là điều hiển nhiên, tôi đoán vậy).

Đối với người tò mò, hướng dẫn là tại đây .

1
Dan Rosenstark

Nếu bạn sử dụng ReSharper, nó có TODO tracker, trong đó hiển thị cho bạn một danh sách tất cả TODOs, NOTEs và BUGs trong giải pháp của bạn. Nó cũng làm nổi bật chúng trong mã của bạn trong bất kỳ màu nào bạn chọn. Tôi thấy điều này thực sự hữu ích trong các dự án của riêng tôi.

0
Nobody

Tôi không thấy vấn đề trong việc sử dụng theo dõi lỗi chính thức cho các dự án một người đàn ông nhỏ. Thông thường tôi chỉ giữ một danh sách tinh thần (rất ngắn) và sửa các lỗi khi tôi nhận ra chúng. Tất nhiên điều này không có quy mô cho các dự án lớn/nhiều người, nhưng vấn đề là nó không cần thiết.

0
dsimcha