Personalizarea Copilot

Dezvoltare software cu GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Dezvoltare software cu GitHub Copilot

Dezvoltare software cu GitHub Copilot

Dezvoltare software cu GitHub Copilot

Dezvoltare software cu GitHub Copilot

Cum funcționează instrucțiunile personalizate

$$

Definiți:

  • Convenții de codare
  • Preferințe de instrumente
  • Contextul proiectului

Dezvoltare software cu GitHub Copilot

Cum funcționează instrucțiunile personalizate

$$

Definiți:

  • Convenții de codare
  • Preferințe de instrumente
  • Contextul proiectului

Dezvoltare software cu GitHub Copilot

Cum se definesc instrucțiunile personalizate

Includeți-le în: .github/copilot-instructions.md

## Project context
Python project for processing data pipelines with Airflow.

## Coding style - Use type hints for all functions
- Follow PEP8
- Use snake_case naming
- Write Google-style docstrings
## Testing - Use pytest
- Include one test per function
## More instructions...
Dezvoltare software cu GitHub Copilot

Ce face o instrucțiune eficientă

$$

✅ Instrucțiuni eficiente:

  • Scurte și specifice
  • Autonome
  • Adaugă context sau informații relevante

$$

❌ Instrucțiuni ineficiente:

  • Documente sau depozite externe
  • Ton sau stil de scriere specific
  • Limitare a detaliilor sau formatării
1 https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
Dezvoltare software cu GitHub Copilot

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

Dezvoltare software cu GitHub Copilot

$$

$$

## Style guidelines

- Conform to the coding styles defined 
in styleguide.md in repo my-org/my-repo

- Answer in the style of a friendly 
colleague, using informal language

- Answer in fewer than 1,000 characters

Dezvoltare software cu GitHub Copilot

Cum se activează instrucțiunile personalizate

  • Salvați fișierul copilot-instructions.md
  • Va fi inclus automat în solicitările dvs.

Dezvoltare software cu GitHub Copilot

Cum se activează instrucțiunile personalizate

  • Salvați fișierul copilot-instructions.md
  • Va fi inclus automat în solicitările dvs.

Dezvoltare software cu GitHub Copilot

Utilizarea mai multor fișiere de instrucțiuni

Dezvoltare software cu GitHub Copilot

Utilizarea mai multor fișiere de instrucțiuni

Dezvoltare software cu GitHub Copilot

Utilizarea mai multor fișiere de instrucțiuni

$$

Dezvoltare software cu GitHub Copilot

Configurarea instrucțiunilor la nivel de organizație

$$

Dezvoltare software cu GitHub Copilot

Configurarea instrucțiunilor la nivel de organizație

$$

Exemple de reguli la nivel de companie:

  • Utilizarea instrumentelor interne
  • Impunerea unor biblioteci specifice
  • Aplicarea unui stil consistent
  • Avertizare la pattern-uri deprecate
Dezvoltare software cu GitHub Copilot

Prioritatea instrucțiunilor pe mai multe niveluri

$$

$$

$$

Domeniu Prioritate
Instrucțiuni personale Cea mai mare
Instrucțiuni de proiect Medie
Instrucțiuni de organizație Cea mai mică
Dezvoltare software cu GitHub Copilot

$$

Exemplu de solicitare: "Scrieți o funcție care calculează media unei liste de numere."

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)
Dezvoltare software cu GitHub Copilot

$$

Exemplu de solicitare: "Scrieți o funcție care calculează media unei liste de numere."

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)

$$

Dezvoltare software cu GitHub Copilot

Să exersăm!

Dezvoltare software cu GitHub Copilot

Preparing Video For Download...