Skip to main content

Réutiliser le code d'autres personnes dans vos projets

L’une des meilleures choses sur les logiciels open source est la possibilité de réutiliser le code d’autres personnes. La réutilisation du code vous permet de gagner du temps, de découvrir de nouvelles fonctionnalités et d’apprendre d’autres styles de programmation. Il existe deux façons principales de réutiliser le code :

  • copier et coller un extrait de code directement dans votre projet. Si vous débutez avec le codage, il s’agit du moyen le plus rapide de commencer à réutiliser du code.
  • Importer une bibliothèque dans votre projet. Bien que cette approche prenne un certain temps pour apprendre, elle est finalement plus facile et plus efficace. Il s’agit également d’une compétence fondamentale pour le développement de logiciels.

Dans cet article, nous apprendrons les deux en travaillant sur un exemple : la réutilisation du code Python qui calcule la factorielle d’un nombre.

Lorsque vous apprenez à coder, vous pouvez commencer par réutiliser le code en copiant et en collant des extraits de code d’autres développeurs dans votre projet. Il s’agit d’un excellent moyen de gagner du temps, mais vous devez toujours suivre quelques étapes clés avant de copier le code d’un autre développeur.

Tout d’abord, vous devez trouver et comprendre l’extrait de code que vous souhaitez réutiliser. Pour cet exemple, nous allons choisir le référentiel new2code/python-factorial.

Tout d’abord, ouvrez factorial_finder.py, qui implémente la calculatrice à l’aide d’une boucle :

# Initialize the factorial result to 1
factorial = 1

# Initialize the input number to 6
number = 6

# Loop from 1 to number (inclusive) and multiply factorial by each number
for i in range(1, number + 1):
    factorial *= i

print(f"The factorial of {number} is {factorial}")

Ensuite, dans la barre de menu en haut du fichier, cliquez sur pour démarrer une conversation avec Copilot.

Capture d'écran du bouton Copilot, souligné en orange foncé, en haut de la vue du fichier.

Dans la fenêtre de conversation, demandez Copilot :

Text
Explain this program.

Avant de pouvoir réutiliser le code que vous avez trouvé, vous devez comprendre ses licences. Les licences déterminent comment vous pouvez utiliser le code dans un projet, y compris votre capacité à copier, modifier et distribuer ce code.

Pour identifier la licence de new2code/python-factorial, localisez la section « À propos » sur la page principale du référentiel. Vous y verrez que le référentiel est sous licence MIT. Pour lire la licence, cliquez sur licence MIT.

Capture d’écran de la page principale du référentiel new2code/python-factorial. Dans la barre latérale de droite, la « licence MIT » est soulignée en orange foncé.

Nous voulons copier l’intégralité du fichier factorial_finder.py , de sorte que la licence MIT indique que nous devons inclure une copie de la licence dans notre propre projet. En haut de votre fichier Python, collez la licence en tant que commentaire.

Conseil

Vous pouvez découvrir ce qui est autorisé par d’autres licences courantes grâce à l’outil Choisir une licence.

Vous êtes maintenant prêt à coller l’extrait de code dans votre projet. Bien que vous puissiez parfois utiliser des extraits de code tels quels, vous aurez souvent besoin de les modifier pour votre cas d’utilisation spécifique. Passons maintenant à la pratique !

Supposons que nous voulions calculer rapidement les factorielles de 5, 7, 9 et 10. Au lieu de copier et coller l’ensemble du programme pour chaque nombre, nous pouvons déplacer notre calculatrice dans une fonction qui prend un nombre comme argument.

Utilisez Copilot Chat pour suggérer et expliquer une implémentation. Collez notre code actuel dans la fenêtre de conversation, suivi de ce prompt :

Text
Wrap the Python code above in a function.

Copilot générera une suite de tests comme la suivante :

Python
def calculate_factorial(number):
    # Initialize the factorial result to 1
    factorial = 1

    # Loop from 1 to number (inclusive) and multiply factorial by each number
    for i in range(1, number + 1):
        factorial *= i

    return factorial

Avec notre nouvelle fonction, nous pouvons facilement trouver les factorielles de nos nombres en ajoutant le code suivant à notre projet, puis en exécutant le programme Python :

Python
print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))

Félicitations ! Vous avez trouvé, compris et modifié un exemple d’extrait de code.

Apprenons maintenant à utiliser les bibliothèques, ce qui est une pratique courante pour les développeurs. Les bibliothèques sont essentiellement des collections de code écrites par d’autres développeurs pour effectuer des tâches spécifiques. Vous pouvez importer des bibliothèques dans votre projet pour utiliser le code préécrit, ce qui vous permet de gagner du temps et des efforts.

Dans cette section, nous allons continuer à utiliser l’exemple de calculatrice factorielle Python de la section précédente. Pour référence, voici notre code actuel :

Python
def calculate_factorial(number):
    # Initialize the factorial result to 1
    factorial = 1

    # Loop from 1 to number (inclusive) and multiply factorial by each number
    for i in range(1, number + 1):
        factorial *= i

    return factorial

print(calculate_factorial(5))
print(calculate_factorial(7))
print(calculate_factorial(9))
print(calculate_factorial(10))

Une fois que vous connaissez les fonctionnalités que vous souhaitez ajouter à votre projet, vous pouvez rechercher une bibliothèque avec du code approprié. Copilot Chat est un moyen facile de rechercher des bibliothèques, puisque vous pouvez utiliser le langage naturel pour décrire exactement ce que vous recherchez.

Trouver une factorielle est une fonction assez courante, et il y a de fortes chances que quelqu’un ait inclus cette fonction dans une bibliothèque existante. Ouvrez Copilot Chat, puis demandez :

Text
Is there a Python library with a function for calculating a factorial?

Copilot nous indiquera qu’une fonction factorielle est incluse dans le module math de la bibliothèque standard Python.

Lorsque vous ajoutez une bibliothèque ou un module à votre projet, vous créez ce que l’on appelle une dépendance. Les dépendances sont des ensembles de codes pré-écrits dont votre projet dépend pour fonctionner correctement. Si elles ne sont pas soigneusement écrites ou gérées, elles peuvent introduire des failles de sécurité dans votre travail.

Heureusement, vous pouvez prendre certaines mesures pour mieux protéger votre projet. Apprenons à les utiliser.

Les bibliothèques populaires sont plus susceptibles d’être sécurisées, car elles sont activement gérées et utilisées par de nombreux développeurs. Un bon marqueur de popularité est le nombre d’étoiles qu’un référentiel possède. Si vous ne trouvez pas le référentiel pour une dépendance, vous pouvez demander de l’aide à Copilot.

Ouvrez Copilot Chat, puis demandez :

Text
Find the  repository containing the code for the math module in Python.

Copilot vous indiquera que le module math est défini dans python/cpython, qui compte plus de 64 000 étoiles.

Lorsque cette option est activée, Dependabot alerts est automatiquement généré lorsque Dependabot détecte un problème de sécurité dans vos dépendances, ce qui vous aide à corriger rapidement les vulnérabilités. Dependabot est disponible gratuitement sur tous les référentiels open source .

Activez Dependabot alerts pour votre référentiel dès maintenant. Cliquez sur l’onglet Sécurité du référentiel de votre projet. A côté de Dependabot alerts, cliquez sur Activer Dependabot alerts. Vous pouvez accéder à Dependabot alerts à partir de l'onglet Dependabot de la barre latérale.

Capture d'écran de la page « Sécurité » d'un référentiel. L’onglet « Sécurité », l’onglet « Dependabot » et le bouton « Activer Dependabot alerts » sont mis en évidence en orange.

Vous êtes maintenant prêt à importer la bibliothèque dans votre projet, puis à utiliser son contenu dans votre code. Vous pouvez lire la documentation de la bibliothèque pour apprendre à le faire vous-même, ou vous pouvez demander à Copilot de vous suggérer et de vous expliquer une implémentation.

Ouvrez Copilot Chat, puis demandez :

Text
How do I use the factorial function of the math module in my Python project?

Copilot suggérera alors une version du code suivant :

Python
import math

# Calculate the factorial of a number
number = 5
result = math.factorial(number)

print(f"The factorial of {number} is {result}")

Après avoir remplacé le code existant dans votre projet par l’implémentation ci-dessus, vous avez utilisé avec succès le code d’une bibliothèque dans votre projet d’exemple !

Grâce à ce tutoriel, vous avez appris à réutiliser en toute sécurité le code d’autres utilisateurs dans votre propre travail. À cette occasion, partagez la manière dont vous avez réutilisé le code et généré le projet d’exemple dans notre discussion communautaire.