Viết một vấn đề hay

Tất cả những dự án tuyệt vời đều được xây dựng dựa trên phản hồi của người dùng. Blockly sử dụng các vấn đề trên GitHub để theo dõi ý kiến phản hồi. Trang này trình bày chi tiết cách viết một vấn đề mà nhà phát triển dễ đọc và phản hồi, qua đó tăng khả năng giải quyết yêu cầu về tính năng/báo cáo lỗi của bạn!

Chuẩn bị trước

Bạn có câu hỏi?

Chúng tôi rất mong nhận được câu hỏi của bạn! Tuy nhiên, các vấn đề trên GitHub không phải là phương tiện hiệu quả. Nếu bạn có thắc mắc, hãy chuyển đến diễn đàn dành cho nhà phát triển của chúng tôi. Nếu bạn đặt câu hỏi ở đó, có nhiều khả năng bạn sẽ nhận được phản hồi kịp thời và thấu đáo vì có rất nhiều nhà phát triển đã sử dụng Blockly trong nhiều năm!

Kiểm tra Trùng lặp

Trước khi bắt đầu viết bất kỳ loại vấn đề nào, bạn nên xem đã có vấn đề phù hợp hay chưa. Nếu có, thì thao tác này sẽ giúp bạn tiết kiệm công sức do phải tự viết! Vì vậy, trước khi bắt đầu viết, hãy tìm kiếm nội dung trùng lặp hoặc các vấn đề liên quan.

Nếu bạn phát hiện một vấn đề trùng khớp, hãy thích vấn đề đó hoặc thêm nhận xét nêu rõ ý kiến của bạn. Điều này đặc biệt quan trọng đối với các báo cáo lỗi và yêu cầu về tính năng. Nếu nhà phát triển nhận thấy một vấn đề đang được nhiều người chú ý, thì có nhiều khả năng vấn đề đó sẽ được xử lý!

Báo cáo lỗi

Bạn có nghĩ rằng mình đã phát hiện ra lỗi? Vậy thì tuyệt quá! Chúng tôi thích các báo cáo lỗi nghe vì chúng tôi muốn dự án này ổn định nhất có thể. Sau đây là một số bước bạn có thể làm theo để giúp khắc phục lỗi.

  1. Kiểm tra xem có trùng lặp không
  2. Thu thập bằng chứng
  3. Xác định vấn đề
  4. Kết hợp quy trình tái tạo
  5. Đề xuất nguyên nhân
  6. Viết vấn đề của bạn!

Thu thập bằng chứng

Nhìn chung, lỗi của bạn càng có nhiều thông tin càng tốt. Dưới đây là một vài điều bạn nên cung cấp:

  • Ảnh chụp màn hình hoặc ảnh GIF có thể thực sự hữu ích nếu lỗi gây ra sự cố hình ảnh.
  • Mã mẫu rất hữu ích nếu lỗi chỉ ảnh hưởng đến một số loại khối hoặc các cấu hình của không gian làm việc nhất định.
  • Trang web được lưu trữ là lựa chọn tuyệt vời nếu bạn gặp sự cố khi tái tạo lỗi bên ngoài môi trường cụ thể.

Xác định vấn đề

Ngoài thư viện cốt lõi, trình bổ trợ, ví dụ và lớp học lập trình, chúng tôi đã có rất nhiều mã Blockly. Hãy giúp chúng tôi bằng cách cho chúng tôi biết chính xác nơi xảy ra sự cố.

Nếu vấn đề nằm trong cốt lõi, thì thành phần nào? Ví dụ: đó có thể là vấn đề với hộp công cụ, các tuỳ chọn điều khiển thu phóng hoặc các khối thư viện. Mô tả cụ thể nhất có thể.

Nếu vấn đề nằm trong mẫu khối, hãy tìm hiểu xem trình bổ trợ, lớp học lập trình hoặc ví dụ nào có trong vấn đề đó. Nếu bạn phát hiện cùng một lỗi ở nhiều nơi, hãy báo cho chúng tôi biết.

Củng cố quy trình tái sản xuất

Lỗi chỉ có thể khắc phục được nếu lỗi đó có thể tái tạo. Vì vậy, trước khi gửi vấn đề, hãy đảm bảo bạn có một cách chắc chắn để khiến lỗi đó xảy ra.

Bạn nên đưa ra một danh sách các bước được đánh số để cho nhà phát triển biết cách tái hiện lỗi. Ví dụ:

  1. Mở lớp học lập trình X.
  2. Chuyển đến trang Y.
  3. Chạy mã mẫu Z.
  4. Quan sát hành vi xấu, có vẻ như W.

Nếu vấn đề nằm trong phần Blockly Core, hãy cố gắng tái hiện vấn đề đó trong playground.

Đề xuất một nguyên nhân

Nếu bạn cho rằng mình biết lý do xảy ra lỗi, hãy cung cấp cả thông tin đó. Xin nhắc lại, hãy càng cụ thể càng tốt.

Viết vấn đề của bạn!

Đã đến lúc viết báo cáo lỗi. Chọn kho lưu trữ của bạn:

Hãy nhớ điền tất cả các phần của mẫu báo cáo vấn đề, kể cả những phần không được nêu chi tiết ở đây.

Cảm ơn bạn đã quan tâm đến việc báo cáo lỗi. Chúc bạn viết thư vui vẻ!

Tiếp theo là gì?

  • Báo cáo lỗi sẽ tự động được gắn thẻ để phân loại.
  • Thành viên trực điện thoại của nhóm Blockly sẽ xem xét và có thể đặt câu hỏi làm rõ. Họ cũng sẽ thêm các nhãn mà chúng tôi sử dụng để sắp xếp các lỗi.
  • Vấn đề có thể được đánh dấu là "Cần trợ giúp". Trong trường hợp đó, bạn có thể xác nhận quyền sở hữu và bắt đầu xử lý.
  • Sự cố này có thể được chỉ định cho một thành viên của nhóm Blockly để khắc phục.
  • Vấn đề có thể được đánh dấu bằng một mốc quan trọng hằng quý để cho biết thời điểm hoàn tất.
  • Vấn đề này có thể được đặt vào cột mốc trên Icebox, nghĩa là chúng tôi không có ý định xử lý vấn đề này trong tương lai gần.
    • Điều này có thể xảy ra đối với các sự cố tần suất thấp hoặc lỗi có các giải pháp đã biết.
    • Bạn vẫn có thể xử lý các vấn đề về Iceboxed.
  • Vấn đề này có thể được đặt tại mốc Lỗi Bash Backlog, tức là vấn đề này không khẩn cấp nhưng chúng tôi vẫn muốn khắc phục.
    • Vào cuối mỗi quý, nhóm này dành vài tuần để xử lý các lỗi lấy được từ cột mốc Lỗi Bash Backlog.
  • Chúng tôi có thể chuyển vấn đề từ lõi Blockly sang mẫu khối (hoặc hướng ngược lại) nếu cần.
  • Có thể vấn đề đã bị đóng.

Yêu cầu tính năng

Bạn có muốn thay đổi điều gì để cải thiện Blockly không? Bạn có ý tưởng nào về trình bổ trợ, ví dụ hoặc lớp học lập trình không? Có thể đã có một trò chơi bạn thích và bạn đã nghĩ ra cách để cải thiện nó. Nếu vậy thì bạn đã đến đúng nơi rồi đấy! Dưới đây là các bước giúp bạn tạo một yêu cầu tính năng tuyệt vời và nhận được phản hồi.

  1. Kiểm tra xem có trùng lặp không
  2. Kiểm tra các yêu cầu
  3. Thu thập ý kiến
  4. Viết Yêu cầu về tính năng!

Kiểm tra các Yêu cầu

Chúng tôi mong muốn mọi ý tưởng đều được đưa vào kho lưu trữ này! Nhưng đáng tiếc, chúng ta chỉ là con người, nên chúng tôi có sẵn một số nguyên tắc về những loại yêu cầu mà chúng tôi sẽ theo đuổi.

Dưới đây là các nguyên tắc cho từng danh mục dự án:

  • Lõi theo khối
  • Trình bổ trợ
  • Ví dụ: Hướng dẫn cách chỉ sử dụng một hoặc hai tính năng trong Blockly.
  • Lớp học lập trình: Cho biết cách hoàn thành một nhiệm vụ hoặc triển khai một hành vi.

Tuy nhiên, đây không phải là những quy tắc khó và nhanh gọn. Các đề xuất này chỉ nhằm giúp bạn hình dung được thông tin chúng tôi đang tìm trước khi bạn dành thời gian xây dựng yêu cầu về tính năng.

Nếu bạn không chắc chắn có phù hợp hay không, hãy thử đăng nội dung đó lên diễn đàn dành cho nhà phát triển của chúng tôi. Và hãy nhớ rằng ngay cả khi ý tưởng của bạn không được chấp nhận, chúng tôi vẫn rất mong bạn xây dựng ý tưởng đó dưới dạng trình bổ trợ hoặc hướng dẫn của bên thứ ba!

Thu thập ý kiến

Ý tưởng của bạn không cần phải hoàn chỉnh 100% bằng kim tuyến và sơ đồ trước khi tiếp tục và gửi, nhưng bạn nên có ý tưởng chắc chắn về nội dung mình đang tìm kiếm. Sau đây là một số câu hỏi hay để bạn cân nhắc trước khi bắt đầu viết:

  • Tại sao tôi muốn có tính năng này?
  • Tính năng này có khắc phục được sự cố không?
  • Đối tượng mục tiêu của tính năng này là ai?
  • Tại sao tính năng này phục vụ họ?
  • Một số lựa chọn thay thế nào có thể đạt được điều tương tự?

Sau khi tìm hiểu những điều đó, bạn sẽ sớm có được một yêu cầu về tính năng phù hợp!

Viết Yêu cầu về tính năng!

Bây giờ bạn đã sẵn sàng viết yêu cầu về tính năng. Chọn kho lưu trữ của bạn:

Hãy nhớ điền tất cả các phần của mẫu báo cáo vấn đề, kể cả những phần không được nêu chi tiết ở đây.

Cảm ơn bạn đã quan tâm đến việc gửi yêu cầu về tính năng và chúc bạn viết vấn đề vui vẻ!

Tiếp theo là gì?

  • Yêu cầu tính năng của bạn sẽ tự động được gắn thẻ để phân loại.
  • Thành viên trực điện thoại của nhóm Blockly sẽ xem xét và có thể đặt câu hỏi làm rõ. Họ cũng sẽ thêm các nhãn mà chúng tôi sử dụng để sắp xếp các lỗi.
  • Tính năng này có thể được đánh dấu là "Cần trợ giúp". Trong trường hợp đó, bạn có thể xác nhận quyền sở hữu và bắt đầu xử lý tính năng đó.
  • Bạn có thể chỉ định tính năng này cho một thành viên của nhóm Blockly để triển khai.
  • Bạn có thể di chuyển yêu cầu về tính năng từ lõi Blockly sang mẫu khối (hoặc hướng ngược lại) nếu cần.
  • Yêu cầu tính năng có thể bị đóng. Trong trường hợp đó, bạn vẫn có thể triển khai dưới dạng trình bổ trợ của bên thứ ba.