Menulis Masalah yang Baik

Semua proyek yang hebat dibangun berdasarkan umpan balik pengguna. Blockly menggunakan masalah GitHub untuk melacak masukan. Halaman ini menjelaskan cara menulis masalah yang mudah dibaca dan direspons oleh developer, yang membuat laporan bug/permintaan fitur akan lebih mungkin ditangani.

Persiapan

Ada Pertanyaan?

Kami senang mendengar pertanyaan Anda. Tetapi masalah GitHub bukanlah media yang baik untuk mereka. Jika ada pertanyaan, buka forum developer. Jika Anda mengajukan pertanyaan di sana, kemungkinan besar Anda akan mendapatkan jawaban yang tepat waktu dan menyeluruh karena dipenuhi oleh developer yang telah menggunakan Blockly selama bertahun-tahun.

Periksa Duplikat

Sebelum Anda mulai menulis apa pun jenis masalah, sebaiknya Anda melihat apakah yang cocok sudah ada atau belum. Jika ada, maka Anda tidak perlu menulis sendiri. Jadi, sebelum Anda mulai menulis, lakukan penelusuran duplikat atau masalah terkait.

Jika Anda menemukan masalah yang cocok, beri jempol atau tambahkan komentar yang menjelaskan pendapat Anda. Hal ini sangat penting untuk laporan bug dan permintaan fitur. Jika developer melihat bahwa sebuah masalah mendapat banyak perhatian, kemungkinan besar masalah tersebut akan diperbaiki.

Laporkan Bug

Jadi Anda pikir Anda telah menemukan bug? Bagus! Kami senang mendengar laporan {i>bug<i} karena kami ingin proyek ini stabil mungkin. Berikut adalah beberapa langkah yang dapat Anda ikuti untuk membantu memperbaiki {i>bug<i}.

  1. Memeriksa Duplikat
  2. Kumpulkan Bukti
  3. Menemukan Masalah
  4. Perkuat Reproduksi Anda
  5. Sarankan Tujuan
  6. Tulis Masalah Anda.

Kumpulkan Bukti

Umumnya, semakin banyak informasi yang dimiliki bug, semakin baik. Berikut adalah beberapa hal yang mungkin ingin Anda berikan:

  • Screenshot atau Gif dapat sangat membantu jika bug menyebabkan masalah visual.
  • Kode Contoh berguna jika bug hanya memengaruhi jenis blok atau konfigurasi ruang kerja tertentu.
  • Situs yang Dihosting sangat bagus jika Anda kesulitan mereproduksi bug di luar lingkungan spesifik Anda.

Temukan Masalahnya

Di antara library inti, plugin, contoh, dan codelab, kita memiliki banyak kode Blockly. Bantu kami dengan memberitahukan lokasi persis masalah yang terjadi.

Jika masalahnya ada di inti, komponen yang mana? Misalnya, mungkin ada masalah dengan toolbox, kontrol zoom, atau blok library. Jelaskan sedetail mungkin.

Jika masalahnya ada pada contoh blockly, cari tahu plugin, codelab, atau contoh yang digunakan. Jika Anda menemukan bug yang sama di beberapa tempat, beri tahu kami juga.

Perkuat Reproduksi Anda

Bug hanya dapat diperbaiki jika dapat direproduksi. Jadi, sebelum mengirimkan masalah, pastikan Anda memiliki cara yang solid untuk menyebabkan bug tersebut terjadi.

Anda akan memiliki daftar langkah-langkah bernomor yang memberi tahu developer cara mereproduksi bug. Contoh:

  1. Buka codelab X.
  2. Buka halaman Y.
  3. Jalankan kode contoh Z.
  4. Amati perilaku buruk, yang terlihat seperti W.

Jika masalah Anda berada di Blockly core, coba rekonstruksi masalah di playground.

Sarankan Penyebab

Jika Anda merasa tahu mengapa bug terjadi, sertakan juga informasi tersebut. Sekali lagi, tuliskan sespesifik mungkin.

Tulis Masalah Anda!

Waktunya menulis laporan bug Anda. Pilih repositori Anda:

Pastikan untuk mengisi semua bagian template masalah, bahkan bagian yang tidak dijelaskan di sini.

Terima kasih atas minat Anda dalam melaporkan bug, dan selamat menulis.

Apa Selanjutnya?

  • Laporan bug akan otomatis diberi tag untuk triase.
  • Anggota siaga dari tim Blockly akan memeriksa dan mungkin mengajukan pertanyaan klarifikasi. Mereka juga akan menambahkan label, yang digunakan untuk menjaga bug tetap teratur.
  • Masalah ini mungkin ditandai "Bantuan Dicari", lalu Anda dapat mengklaimnya dan mulai mengerjakannya.
  • Masalah ini mungkin ditugaskan kepada anggota tim Blockly untuk diperbaiki.
  • Masalah tersebut dapat ditandai dengan pencapaian kuartalan, untuk menunjukkan kapan masalah tersebut akan diselesaikan.
  • Masalah ini mungkin akan ditempatkan di milestone Icebox, yang berarti kami tidak bermaksud untuk mengerjakannya dalam waktu dekat.
    • Hal ini mungkin terjadi untuk masalah frekuensi rendah atau bug dengan solusi yang diketahui.
    • Anda masih dapat mengatasi masalah yang ada di Icebox.
  • Masalah ini mungkin ditempatkan di milestone Bug Bash Backlog, yang berarti tidak mendesak, tetapi kami masih ingin memperbaikinya.
    • Di akhir setiap kuartal, tim meluangkan waktu beberapa minggu untuk menangani bug yang diambil dari milestone Bug Bash Backlog.
  • Masalah ini dapat dipindahkan dari core Blockly ke sampel blockly (atau arah yang berlawanan) jika diperlukan.
  • Masalah mungkin sudah ditutup.

Permintaan Fitur

Apakah ada sesuatu yang ingin Anda ubah untuk membuat Blockly lebih baik? Apakah Anda memiliki ide untuk plugin, contoh, atau codelab? Mungkin sudah ada satu yang Anda sukai, dan Anda telah menemukan cara untuk memperbaikinya. Jika demikian maka Anda telah datang ke tempat yang tepat! Berikut adalah langkah-langkah untuk membantu Anda membuat permintaan fitur hebat yang mendapatkan respons.

  1. Memeriksa Duplikat
  2. Periksa Persyaratannya
  3. Kumpulkan Pemikiran Anda
  4. Tulis Permintaan Fitur Anda.

Periksa Persyaratan

Kami ingin mengizinkan setiap ide masuk ke repositori ini. Namun sayangnya kita hanya manusia, jadi kita memiliki beberapa pedoman tentang jenis permintaan yang akan kita kejar.

Berikut adalah panduan untuk setiap kategori proyek yang berbeda:

  • Core blockly
  • Plugin
  • Contoh: Tunjukkan cara menggunakan hanya satu atau dua fitur Blockly.
  • Codelab: Menampilkan cara menyelesaikan satu tugas atau menerapkan satu perilaku.

Tapi ini bukan aturan yang sulit dan cepat. Laporan hanya dimaksudkan untuk memberi Anda gambaran tentang apa yang kami cari sebelum Anda meluangkan waktu untuk membuat permintaan fitur.

Jika tidak yakin apakah ada yang cocok dengan Anda, coba posting konten tersebut di forum developer kami. Dan ingat, meskipun ide Anda tidak diterima, kami tetap ingin Anda membuatnya sebagai tutorial atau plugin pihak ketiga.

Kumpulkan Pemikiran Anda

Ide Anda tidak perlu 100% disempurnakan dengan hiasan dan diagram sebelum Anda melanjutkan dan mengirimkannya, tetapi Anda harus memiliki ide yang solid tentang apa yang Anda cari. Berikut adalah beberapa pertanyaan yang baik untuk direnungkan sebelum Anda mulai menulis:

  • Mengapa saya menginginkan fitur ini?
  • Apakah fitur ini menyelesaikan masalah?
  • Siapa audiens yang dituju untuk fitur ini?
  • Mengapa fitur ini membantu mereka?
  • Apa saja opsi alternatif yang dapat mencapai hal yang sama?

Setelah menyelesaikan semua hal tersebut, Anda akan dapat mengajukan permintaan fitur yang bagus.

Tulis Permintaan Fitur Anda!

Sekarang Anda siap menulis permintaan fitur. Pilih repositori Anda:

Pastikan untuk mengisi semua bagian template masalah, bahkan bagian yang tidak dijelaskan di sini.

Terima kasih atas minat Anda dalam mengirimkan permintaan fitur, dan selamat menulis.

Apa Selanjutnya?

  • Permintaan fitur Anda akan otomatis diberi tag untuk triase.
  • Anggota siaga dari tim Blockly akan memeriksa dan mungkin mengajukan pertanyaan klarifikasi. Mereka juga akan menambahkan label, yang digunakan untuk menjaga bug tetap teratur.
  • Fitur ini dapat ditandai "Bantuan Dicari", dan Anda dapat mengklaimnya dan mulai mengerjakannya.
  • Fitur ini dapat ditetapkan kepada anggota tim Blockly untuk diimplementasikan.
  • Permintaan fitur dapat dipindahkan dari core Blockly ke sampel blockly (atau arah yang berlawanan) jika diperlukan.
  • Permintaan fitur mungkin ditutup, dan dalam hal ini Anda masih memiliki opsi untuk mengimplementasikannya sebagai plugin pihak ketiga.