Fermer

décembre 19, 2024

Informations sur GitHub Copilot / Blogs / Perficient

Informations sur GitHub Copilot / Blogs / Perficient


Les outils et pratiques des développeurs ont considérablement évolué au cours de la dernière décennie. Les écosystèmes de développeurs antérieurs étaient des IDE, par exemple Eclipse, Visual Studio, des livres d’auto-assistance technique, un débordement de pile et Google. Les termes d’intelligence artificielle ont été utilisés pour la première fois en 1956. Les outils d’IA sont devenus si populaires en raison de l’augmentation des volumes de données, des algorithmes avancés et des améliorations de la puissance de calcul et du stockage. Avec l’évolution des temps, nous disposons de diverses options pour obtenir de l’aide pour les développeurs, les testeurs et les analystes commerciaux.

Avant le lancement des outils d’IA

  • Les développeurs antérieurs peuvent passer beaucoup de temps à rechercher des problèmes liés à une erreur de syntaxe mineure dans la formation de la chaîne.
  • Les développeurs précédents devaient rechercher et parcourir divers liens sur Google pour rechercher une solution et lire plusieurs suggestions.

Qu’est-ce que GitHub Copilot ?

Icône

GitHub Copilot est un assistant de codage IA qui vous aide à écrire du code plus rapidement et avec moins d’effort, nous permettant de concentrer davantage d’énergie sur la résolution de problèmes, la collaboration et le domaine. Il a été prouvé que GitHub Copilot augmente la productivité des développeurs et accélère le rythme de développement de logiciels.

Pourquoi utiliser GitHub Copilot : Copilot est un outil puissant dans la main droite.

  • Il génère des extraits de code pour le développeur.
  • Il suggère une nouvelle syntaxe de code lancée par le framework
  • Suggestion et explication de modèle de conception
  • Obtenir des suggestions sur les performances du code
  • Les développeurs peuvent même maîtriser un nouveau langage de codage
  • Les développeurs n’ont pas besoin de quitter leur environnement de développement pour obtenir les solutions. Ils peuvent simplement saisir des mots-clés dans leur environnement et obtenir des solutions.

Comment fonctionne le copilote GitHub

Ouvrir le Codex de l’IAun modèle d’apprentissage automatique qui traduit le langage naturel en code, permet à GitHub Copilot d’extraire le contexte des commentaires et du code afin de suggérer des lignes individuelles et des fonctions entières au fur et à mesure que vous tapez. Codex est une version de GPT-3 (Generative Pre-trained Transformer 3) optimisée pour les tâches de programmation.

Fonctionnalités du copilote GitHub

  • Suggère du code au fur et à mesure que nous tapons dans l’IDE
  • Chat : nous pouvons vous inviter et obtenir des suggestions
  • Outil de ligne de commande : obtenez des suggestions de code dans la ligne de commande
  • Copilot Enterprise uniquement : obtenez une description des modifications pour les demandes d’extraction
  • Sections de code répétitives à saisie semi-automatique pour la méthode et les fonctions
  • Gestion des politiques pour les administrateurs
  • Conversion des commentaires de code en code exécutable
  • Gestion des accès pour les propriétaires d’entreprise et les propriétaires d’organisations

Utilisation en temps réel de GitHub Copilot

  1. Générez un fichier de classe pour la structure JSON pour l’API.
  2. Écrire un scénario de test pour la méthode ou la fonction
  3. Générer une chaîne pour la sortie JSON pour la demande de publication dans l’API
  4. IntelliSense suggérant que le code comme l’assistant et le développeur peut accepter le code

Différents types d’abonnement pour Copilot :

  • CoPilot Individuel: Pour les développeurs individuels, les indépendants, les étudiants et les éducateurs.
  • Entreprise copilote: Pour les organisations prêtes à améliorer la vitesse d’ingénierie, la qualité du code et l’expérience des développeurs.
  • CoPilot Entreprise: Pour les entreprises qui recherchent le maximum de personnalisation en fonction des connaissances et de la base de code de leur organisation.

Pour plus d’informations sur le coût, nous pouvons l’obtenir à partir de l’URL ci-dessous. Nous pouvons utiliser un essai gratuit ou acheter l’un des plans ci-dessus à partir de cette URL et il existe des contacts commerciaux : GitHub Copilot · Votre programmeur de paires d’IA · GitHub. Même pour un essai gratuit, nous devons fournir les informations de votre carte de crédit.

Avantages de l’utilisation du copilote GitHub

  • Le copilote du hub Git est activé automatiquement dans l’EDI (Visual Studio, VSCode, Eclipse), il ne cesse de nous suggérer du code de saisie semi-automatique.
  • Suggère du code pour l’initialisation d’objet pour une classe, écrit des cas de test. Pour atteindre une couverture de code de 85 % ou plus, le développeur doit le terminer en quelques heures, ce qui améliore la productivité du développeur.
  • Fournit des suggestions pour un nouveau cadre et les développeurs peuvent saisir leur question dans le chat et obtenir des réponses appropriées.

Cas d’utilisation en temps réel pour GitHub Copilot.

  1. Extrait de code pour Class Person en C# qui a une classe imbriquée et génère du JSON pour cela Exemple de réponse de GitHub Copilot lorsque nous souhaitons tester la requête POST de l’API Web avec des exemples de données
Class Person
{
   public Name PersonName { get; set; }
   public Address PersonAddress { get; set; }
   public int Height { get; set; }
   public string EyeColor { get; set; }
}

Public Class PersonName
{
   public string FirstName { get; set; }
   public string LastName { get; set; }
}

Public class Address
{
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }
}
  1. L’invite vers GitHub est convertie en type de données chaîne.
"{\n" +
            "  \"PersonName\": {\n" +
            "    \"FirstName\": \"John\",\n" +
            "    \"LastName\": \"Doe\"\n" +
            "  },\n" +
            "  \"PersonAddress\": {\n" +
            "    \"AddressLine1\": \"123 Main St\",\n" +
            "    \"AddressLine2\": \"Apt 4B\",\n" +
            "    \"City\": \"Anytown\",\n" +
            "    \"State\": \"CA\",\n" +
            "    \"ZipCode\": \"12345\"\n" +
            "  },\n" +
            "  \"Height\": 180,\n" +
            "  \"EyeColor\": \"Brown\"\n"

3. Expliquez le modèle de référentiel : ci-dessous la réponse de Github Copilot

Concepts clés :

  • Dépôt: Une classe qui fait office d’intermédiaire entre la couche de logique métier et la couche de données (base de données). Il masque les détails de l’accès aux données et permet à la logique métier de fonctionner avec une interface abstraite.
  • Interface: Le référentiel expose souvent une interface, permettant une flexibilité dans la manière dont les données sont récupérées et stockées (par exemple, à partir d’une base de données, en mémoire ou d’un service externe).
  • Abstraction: Le référentiel fournit une abstraction de la source de données sous-jacente, permettant au reste de l’application de fonctionner avec des appels de méthode simples sans connaître les détails de la façon dont les données sont stockées ou récupérées.

Avantages du modèle de référentiel :

  • Séparation des préoccupations: maintient la logique d’accès aux données isolée de la logique métier.
  • Testabilité: Permet de faciliter les tests unitaires en simulant le référentiel dans les tests.

Maintenabilité: Plus facile à gérer les modifications apportées à la logique d’accès aux données sans impacter le reste de l’application.

4. Rédaction de cas de tests. L’invite vers Github Copilot est d’écrire un scénario de test pour diviser une chaîne à l’aide de MOQ

Sure! Here's an example of how you can write a test case using Moq for a string with the value "one, two, three, four, five":

```csharp
using Moq;
using Xunit;

public class StringServiceTests
{
    [Fact]
    public void TestStringService()
    {
        // Arrange
        var mockStringService = new Mock();
        string testString = "one, two, three, four, five";
        mockStringService.Setup(service => service.GetString()).Returns(testString);

        // Act
        var result = mockStringService.Object.GetString();

        // Assert
        Assert.Equal(testString, result);
    }
}

public interface IStringService
{
    string GetString();
}
```

In this example:
- We create a mock of the `IStringService` interface.
- We set up the mock to return the string "one, two, three, four, five" when the `GetString` method is called.
- We then call the `GetString` method on the mock object and assert that the returned value is equal to the expected string.

Feel free to ask if you need further assistance or have any questions!

GitHub est disponible pour les IDE suivants

Visual Studio, Visual Studio Code, JetBrains

GitHub prend en charge les langages de programmation suivants : Python, JavaScript, TypeScript, Go et Ruby

Inconvénient de l’utilisation de GitHub Copilot :

  • Le copilote de GitHub continue de suggérer que le code qu’un développeur n’a peut-être pas l’intention d’écrire est plutôt ennuyeux.
  • Il peut générer du code basé sur l’invite que nous fournissons, qui peut contenir des erreurs et le développeur doit retravailler en conséquence.
  • Une fois Copilot intégré dans l’environnement du développeur, il vous sera demandé d’appuyer sur la touche de tabulation pour accepter le code qui peut être incorrect, le développeur doit toujours faire preuve de discrétion.
  • C’est donc un outil puissant dans la main droite.

Citations d’une des actualités sur les outils d’IA

Je voudrais faire référence à une déclaration de « Jensen Huang, PDG de Nvidia, lors du récent Sommet mondial des gouvernements à Dubaï, a déclaré que les jeunes devraient cesser de se concentrer sur la façon de coder, car à ce stade précoce de la révolution de l’IA, la programmation n’est plus une compétence vitale. Le codage peut être pris en charge par l’IA, les humains peuvent s’occuper d’expertises plus importantes comme le domaine, la biologie, l’éducation, l’agriculture, etc.

Conclusion:

Cet outil peut être très bien utilisé par les développeurs adeptes ainsi que par les nouveaux développeurs pour leur apprentissage ciblé et leur travail en faveur de la productivité de l’organisation.

Il est temps de faire évoluer nos convictions et de travailler aux côtés d’outils basés sur l’IA pour améliorer nos connaissances et apprendre à utiliser ces outils afin que nous puissions nous adapter aux temps qui changent.

Les développeurs peuvent se concentrer sur l’enrichissement de l’expérience utilisateur avec leur produit et apporter davantage d’innovation.






Source link