Menyesuaikan Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Pengembangan Perangkat Lunak dengan GitHub Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Pengembangan Perangkat Lunak dengan GitHub Copilot

Cara kerja instruksi khusus

$$

Definisikan:

  • Konvensi pengkodean
  • Preferensi alat
  • Konteks proyek

Pengembangan Perangkat Lunak dengan GitHub Copilot

Cara kerja instruksi khusus

$$

Definisikan:

  • Konvensi pengkodean
  • Preferensi alat
  • Konteks proyek

Pengembangan Perangkat Lunak dengan GitHub Copilot

Cara mendefinisikan instruksi khusus

Sertakan dalam: .github/copilot-instructions.md

## Konteks proyek
Proyek Python untuk memproses pipeline data dengan Airflow.

## Gaya pengkodean - Gunakan petunjuk tipe untuk semua fungsi
- Ikuti PEP8
- Gunakan penamaan snake_case
- Tulis docstring gaya Google
## Pengujian - Gunakan pytest
- Sertakan satu tes per fungsi
## Instruksi lebih lanjut...
Pengembangan Perangkat Lunak dengan GitHub Copilot

Apa yang membuat instruksi efektif

$$

✅ Instruksi efektif:

  • Singkat dan spesifik
  • Mandiri
  • Tambahkan konteks atau informasi relevan

$$

❌ Instruksi tidak efektif:

  • Dokumen atau repositori eksternal
  • Nada atau gaya penulisan tertentu
  • Batasan pada detail atau format
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
Pengembangan Perangkat Lunak dengan GitHub Copilot

$$

$$

## Pedoman gaya

- Sesuaikan dengan gaya pengkodean yang ditentukan 
dalam styleguide.md di repo my-org/my-repo

- Jawab dengan gaya rekan yang ramah, 
menggunakan bahasa informal

- Jawab dalam kurang dari 1.000 karakter

Pengembangan Perangkat Lunak dengan GitHub Copilot

$$

$$

## Pedoman gaya

- Sesuaikan dengan gaya pengkodean yang ditentukan 
dalam styleguide.md di repo my-org/my-repo

- Jawab dengan gaya rekan yang ramah, 
menggunakan bahasa informal

- Jawab dalam kurang dari 1.000 karakter

Pengembangan Perangkat Lunak dengan GitHub Copilot

Cara mengaktifkan instruksi khusus

  • Simpan file copilot-instructions.md
  • Akan otomatis disertakan dalam prompt Anda

Pengembangan Perangkat Lunak dengan GitHub Copilot

Cara mengaktifkan instruksi khusus

  • Simpan file copilot-instructions.md
  • Akan otomatis disertakan dalam prompt Anda

Pengembangan Perangkat Lunak dengan GitHub Copilot

Menggunakan beberapa file instruksi

Pengembangan Perangkat Lunak dengan GitHub Copilot

Menggunakan beberapa file instruksi

Pengembangan Perangkat Lunak dengan GitHub Copilot

Menggunakan beberapa file instruksi

$$

Pengembangan Perangkat Lunak dengan GitHub Copilot

Menetapkan instruksi tingkat organisasi

$$

Pengembangan Perangkat Lunak dengan GitHub Copilot

Menetapkan instruksi tingkat organisasi

$$

Contoh aturan perusahaan:

  • Gunakan alat internal
  • Terapkan pustaka tertentu
  • Terapkan gaya konsisten
  • Peringatkan pola usang
Pengembangan Perangkat Lunak dengan GitHub Copilot

Prioritas instruksi multi-level

$$

$$

$$

Cakupan Prioritas
Instruksi pribadi Tertinggi
Instruksi proyek Sedang
Instruksi organisasi Terendah
Pengembangan Perangkat Lunak dengan GitHub Copilot

$$

Contoh prompt: "Tulis fungsi yang menghitung rata-rata dari daftar angka."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The list of numbers cannot be empty.")
    return sum(numbers) / len(numbers)
Pengembangan Perangkat Lunak dengan GitHub Copilot

$$

Contoh prompt: "Tulis fungsi yang menghitung rata-rata dari daftar angka."

def calculate_average(numbers: List[float]) -> float:
    """Calculate the average of a list of numbers.

    Args:
        numbers (List[float]): A list of numbers to average.

    Returns:
        float: The average value of the numbers.

    Raises:
        ValueError: If the list is empty.
    """
    if not numbers:
        raise ValueError("The numbers list cannot be empty.")
    return sum(numbers) / len(numbers)

$$

Pengembangan Perangkat Lunak dengan GitHub Copilot

Ayo berlatih!

Pengembangan Perangkat Lunak dengan GitHub Copilot

Preparing Video For Download...