Hari dalam kehidupan pengembang devops: Menangguhkan pekerjaan, memperbaiki bug, dan melakukan tinjauan kode

Layanan Azure DevOps | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Fitur Visual Studio My Work and Code Review mendukung peralihan konteks dari satu alur pekerjaan ke alur kerja lainnya. Selain itu, anggota tim dapat dengan mudah bertukar pesan tentang perubahan yang diusulkan pada kode. Artikel ini menggambarkan fitur-fitur ini, melanjutkan tutorial dari Hari dalam kehidupan pengembang devops: Menulis kode baru untuk cerita pengguna.

Catatan

Fitur Visual Studio My Work and Code Review tersedia dengan edisi berikut:

  • Visual Studio 2022: Komunitas Visual Studio, Visual Studio Professional, dan Visual Studio Enterprise
  • Visual Studio 2019: Visual Studio Professional dan Visual Studio Enterprise

Tutorial ini menjelaskan bagaimana Anda dapat menangguhkan pekerjaan pada tugas saat ini untuk segera memperbaiki bug yang memblokir rekan satu tim di item kerja lain. Setelah memperbaiki bug, Anda dapat meminta kolega untuk meninjau perbaikan, dan setelah tinjauan berlalu, periksa perbaikan dan lanjutkan pekerjaan pada tugas asli.

Menangguhkan pekerjaan saat ini

Saat Anda mengerjakan item backlog, Anda mungkin mengetahui tentang bug di item lain yang memblokir rekan satu tim. Jika ini adalah area yang Anda kenal, Anda dapat membuat tugas untuk memperbaiki bug dan menetapkannya kepada diri Anda untuk segera dikerjakan.

Sebelum Anda mulai mengerjakan bug baru, Anda ingin memastikan bahwa pekerjaan Anda saat ini disisihkan di tempat yang aman di server tim. Di Visual Studio Team Explorer, pada halaman Kerja Saya, pilih Tangguhkan untuk menyimpan di server:

  • Semua pekerjaan yang telah Anda lakukan, termasuk perubahan pada kode, pengujian, dan file lainnya.

  • Buka solusi, jendela, titik henti, variabel jendela pengawasan, dan bit status Visual Studio lainnya.

Sekarang setelah ruang kerja Anda bersih, seret tugas baru dari Item Kerja yang Tersedia ke Sedang Berlangsung. Anda siap untuk meneliti dan menulis perbaikan.

Catatan

Konteks kerja Anda ditautkan ke item kerja yang ditampilkan sebagai Sedang Berlangsung di halaman Kerja Saya. Dengan menggunakan Tangguhkan dan Lanjutkan, Anda dapat dengan cepat beralih di antara tugas yang berbeda. Solusi dan file terbuka Anda, perubahan kode, dan tata letak Visual Studio semuanya dialihkan bersama-sama.

Untuk menangguhkan pekerjaan saat ini dan mulai mengerjakan tugas lain

Alihkan konteks kerja Anda:

  1. Jika Anda belum tersambung ke proyek tempat Anda ingin bekerja, sambungkan ke proyek.

  2. Dari halaman Beranda Team Explorer, pilih Pekerjaan Saya.

  3. Pada halaman Pekerjaan Saya, di bagian Sedang Berlangsung Pekerjaan , pilih Tangguhkan.

  4. Dalam kotak yang muncul, secara opsional ubah nama yang ingin Anda berikan kumpulan pekerjaan yang ditangguhkan ini, lalu pilih Tangguhkan. Item muncul di bawah Pekerjaan yang Ditangguhkan.

    Cuplikan layar menangguhkan beberapa pekerjaan.

  5. Seret item kerja dari Item Kerja yang Tersedia ke Sedang Berlangsung. Atau, Anda dapat beralih ke item kerja yang sebelumnya ditangguhkan dengan menyeretnya dari Pekerjaan yang Ditangguhkan.

    Jika item kerja yang ingin Anda tetapkan sendiri tidak muncul di bawah Item Kerja yang Tersedia, Anda dapat:

    • Buat tugas baru atau item kerja lainnya dengan memilih Baru.
    • Pilih kueri lain dengan memilih Buka Kueri.

Tip

Tautan Item Pekerjaan yang Sedang Berlangsung ke perubahan kode Anda saat ini dan status Visual Studio. Untuk mengizinkan Visual Studio membantu Anda menata pekerjaan, pastikan item yang sesuai berada dalam status Sedang Berlangsung Kerja saat Anda beralih dari satu tugas ke tugas lainnya.

Menyelidiki bug

Buka bug baru dan baca deskripsinya. Dalam contoh ini, deskripsi oleh anggota tim uji menyatakan bahwa faktur berbayar terkadang salah ditandai sebagai tidak dibayar. Rekam jepret lingkungan lab dilampirkan ke item kerja bug. Anda membuka komputer virtual (VM) tempat pengujian dijalankan, melihat faktur yang salah, dan mundur melalui log IntelliTrace. Anda dapat melacak kesalahan ke metode berikut:

public class LocalMath
{
    public static bool EqualTo(double a, double b)
    {
        return a == b;
    }

Dari log IntelliTrace, Anda melihat bahwa terkadang metode mengembalikan false karena parameter berbeda dengan jumlah yang sangat kecil. Anda tahu bahwa kesalahan pembulatan semacam ini tidak dapat ditolak dalam aritmatika floating point, dan bahwa itu adalah praktik buruk untuk menguji angka titik mengambang untuk kesetaraan.

Menambah pengujian untuk menunjukkan kesalahan

Ketika bug ditemukan, itu menunjukkan bahwa ada kesenjangan dalam pengujian unit, atau bahwa pengujian tidak cocok dengan kebutuhan aktual pengguna. Oleh karena itu, sebelum memperbaiki bug, tambahkan pengujian yang menunjukkan adanya kesalahan ini:

// Added 2022-02-02 for bug 654321:
/// <summary>
/// Make sure that number equality test allows for 
/// small rounding errors.
/// </summary>
[TestMethod]
public void TestDoublesEqual()
{
    // Allow a rounding error of 1 in 1000000:
    TestEqual(1, 1e-7, true); // Less than allowed error
    TestEqual(1, 1e-5, false); // More than allowed error
    TestEqual(1000, 1e-7, true); // Less than allowed error
    TestEqual(1000, 1e-5, false); // More than allowed error
}
private void TestEqual(double value, double error, bool result)
{
    // Try different combinations of error and value:
    Assert.IsTrue(result == LocalMath.EqualTo(value + error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value + error));
    Assert.IsTrue(result == LocalMath.EqualTo(value - error, value));
    Assert.IsTrue(result == LocalMath.EqualTo(value, value - error));
}

Jalankan pengujian, dan gagal seperti yang diharapkan.

Cuplikan layar Unit Test Explorer memperlihatkan pengujian yang gagal untuk sama.

Membuat tes lulus

Perbaiki kode:

public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    // For example, a == 2.0 and b = 1.99999999999

    const double allowedError = 1/1000000;
    return System.Math.Abs(a - b) < allowedError;
}

Tes sekarang lulus:

Cuplikan layar Unit Test Explorer memperlihatkan lulus pengujian untuk sama.

Meminta peninjauan kode

Ketika Anda puas dengan perbaikan Anda untuk bug, jangan periksa pekerjaan Anda. Teams menggunakan ulasan kode untuk meningkatkan kualitas kode secara keseluruhan dan mengurangi risiko membuat lebih banyak bug. Gunakan Team Explorer untuk meminta ulasan kode dari rekan satu tim.

Untuk meminta peninjauan kode

  1. Di Team Explorer, pada halaman Pekerjaan Saya di bawah Sedang Berlangsung Pekerjaan, pilih Minta Tinjauan.

    Halaman Tinjauan Kode Baru muncul.

    Cuplikan layar yang memperlihatkan halaman Tinjauan Kode Permintaan.

    • Di bidang Masukkan nama peninjau, tentukan satu atau beberapa peninjau, dan tekan Enter setelah setiap pilihan.
    • Di bidang berikutnya, ubah nama tinjauan jika Anda mau.
    • Di bidang berikutnya, pastikan jalur area yang benar muncul.
    • Di bidang berikutnya, ketik deskripsi opsional.
  2. Pilih Kirim Permintaan.

Peninjau diberi tahu tentang permintaan melalui email.

Anda juga dapat meminta peninjauan kode pekerjaan yang ditangguhkan, shelveset, atau set perubahan. Untuk melihat daftar set perubahan, buka Penjelajah Kontrol Sumber dan pilih tombol Riwayat .

Melakukan tinjauan kode

Peninjau dapat menerima permintaan peninjauan kode. Peninjau meninjau kode, menulis beberapa komentar di tingkat file dan blok kode, lalu mengirim tinjauan kode kembali kepada Anda. Peninjau yang diminta yang terlalu sibuk untuk meninjau kode dapat menolak peninjauan.

Dalam komentar, peninjau menunjukkan bahwa pengujian salah. Kesalahan yang diizinkan harus merupakan sebagian kecil dari nilai input yang ditentukan, bukan jumlah konstanta. Jadi pengujian harus mengalikan kesalahan dengan nilai .

// We allow a rounding error of 1 in 1000000
// as a fraction of the value:
TestEqual(1, 1e-7, true); // Less than allowed error
TestEqual(1, 1e-5, false); // More than allowed error
TestEqual(1000, 1000*1e-7, true); // Less than allowed error
TestEqual(1000, 1000*1e-5, false); // More than allowed error

Tip

Anggota tim menggunakan tes sebagai fokus untuk diskusi. Jika pengujian benar dan cukup, kode juga akan. Tidak seperti kode, setiap pengujian mewakili kasus terpisah. Untuk alasan ini, pengujian sering lebih mudah dibahas daripada kode.

Untuk melakukan tinjauan kode

  1. Pada halaman Kerja Saya di Team Explorer, klik kanan tinjauan kode di bagian Tinjauan Kode dan pilih Buka.

    Halaman Tinjauan Kode muncul.

    Cuplikan layar halaman Tinjauan Kode.

  2. Pada halaman Tinjauan Kode, Anda dapat:

    • Pilih Tambahkan Peninjau untuk menambahkan peninjau lain ke permintaan peninjauan kode.

    • Pilih setiap tautan file untuk melihat perubahan pada file yang diperbarui untuk item kerja ini.

    • Gunakan Komentar untuk membahas perubahan dengan penulis dan peninjau lainnya.

      Untuk menambahkan komentar:

      • Pilih Tambahkan Komentar Keseluruhan untuk menambahkan komentar keseluruhan ke tinjauan.
      • Saat melihat file, pilih baris atau blok kode, klik kanan, dan pilih Tambahkan komentar.

      Setelah menambahkan setiap komentar, pilih Simpan atau tekan Ctrl+Enter.

  3. Setelah selesai memasukkan komentar, pilih Kirim Komentar untuk membuat kontribusi Anda terlihat oleh penulis dan peninjau lainnya.

Menanggapi tinjauan kode

Anda menerima dan menanggapi ulasan kode dari peninjau. Anda dan peninjau dapat bertukar komentar sesering yang Anda suka. Tinjauan berakhir saat Anda menutupnya.

Untuk menanggapi tinjauan kode

  1. Di Team Explorer, pada halaman Kerja Saya, buka bagian Tinjauan Kode dan klik dua kali permintaan, atau klik kanan permintaan dan pilih Buka.

    Halaman Tinjauan Kode muncul.

    Cuplikan layar merespons tinjauan kode.

  2. Di bawah bagian Komentar , baca komentar dan balas sesuai kebutuhan. Untuk membalas komentar, pilih Balas, masukkan komentar Anda di kotak yang muncul, lalu pilih OK.

  3. Untuk melihat file dan melihat blok kode yang memiliki komentar, atau untuk mengedit atau mengomentari file, buka subbagian File . Klik kanan file, dan pilih:

    • Bandingkan (Baca-Saja)
    • Edit File Lokal, atau
    • Tambahkan Komentar File

    Anda juga dapat memilih kotak centang di samping komentar untuk menunjukkan bahwa komentar telah ditangani.

  4. Untuk mengirim komentar Anda, pilih Kirim Komentar.

  5. Saat Anda dan peninjau lain selesai merespons komentar satu sama lain dan Anda siap untuk menutup tinjauan, pilih Tutup Tinjauan, lalu pilih:

    • Selesai untuk menunjukkan bahwa peninjauan selesai, atau
    • Abaikan untuk menunjukkan bahwa Anda membatalkan ulasan.

Memperbaiki pengujian dan kode

Setelah membaca komentar ulasan, Anda dapat memperbaiki pengujian unit seperti yang disarankan. Tes sekarang gagal. Ini menunjukkan bahwa kode belum benar.

Anda memperbaiki kode:

/// <summary>
/// Returns true if two numbers are equal.
/// </summary>
public static bool EqualTo(double a, double b)
{
    // Allow for rounding errors.
    const double allowedErrorMultiple = 1/1000000;
    double allowedError = (System.Math.Abs(a) + System.Math.Abs(b)) * allowedErrorMultiple/2;
    return System.Math.Abs(a - b) < allowedError;
}

Tes lolos sekali lagi.

Tip

Untuk memperbaiki bug, ikuti praktik yang sama seperti dalam pengembangan kode. Tulis pengujian yang gagal lalu buat uji lulus. Periksa kode dan pengujian hanya ketika pengujian lulus.

Anda sekarang mengalihkan perhatian Anda pada kasus pengujian di mana bug ditemukan. Langkah-langkah untuk mereproduksi bug dijelaskan dengan jelas dalam item kerja kasus pengujian. Anda mengikuti langkah-langkah dan menemukan bahwa faktur tercantum dengan benar.

Periksa perbaikan

Anda memeriksa kode tetap dan pengujian unit. Status bug secara otomatis diatur ke Diselesaikan, dan nilai Ditetapkan Ke secara otomatis ditetapkan kembali ke anggota tim pengujian yang menemukan bug. Anggota tim tersebut akan memverifikasi bahwa bug telah diperbaiki dan menutup item kerja.

Untuk memeriksa perbaikan

  1. Di Team Explorer, pada halaman Kerja Saya, pilih Check In untuk membuka halaman Perubahan Tertunda .

    Cuplikan layar Pemeriksaan dalam pembaruan untuk memperbaiki bug.

  2. Pada halaman Perubahan Tertunda , pastikan bahwa:

    • Semua perubahan yang relevan tercantum dalam Perubahan yang Disertakan

    • Semua item kerja yang relevan tercantum dalam Item Kerja Terkait.

  3. Masukkan Komentar untuk membantu tim Anda memahami tujuan perubahan ini saat melihat riwayat kontrol versi file dan folder yang diubah.

  4. Pilih Check In.

Melanjutkan pekerjaan pada tugas

Lanjutkan pekerjaan pada tugas asli Anda. Anda dapat kembali bekerja dengan cepat karena semua perubahan kode Anda dipulihkan ke ruang kerja Anda bersama dengan bit status penting seperti jendela terbuka, titik henti, dan variabel jendela pengawasan.

Untuk melanjutkan pekerjaan pada tugas

  • Di Team Explorer, pada halaman Kerja Saya, pilih item kerja asli Anda di bawah Pekerjaan yang Ditangguhkan dan pilih Lanjutkan.

    Cuplikan layar Memulai kembali tugas.

    Atau, jika Anda ingin menggabungkan pekerjaan yang ditangguhkan dengan perubahan tertunda di ruang kerja Anda, pilih Gabungkan dengan Sedang Berlangsung.

Saat Anda melanjutkan pekerjaan, Visual Studio memulihkan:

  • Solusi terbuka Anda
  • Perubahan kode Anda
  • Status dan posisi jendela yang terbuka
  • Titik henti
  • Menonton variabel dan ekspresi jendela
  • Bookmark