Sourcegraph a lancé mercredi Batch Changes, un outil automatisé de codage interne qui permet aux entreprises d’automatiser et de suivre les modifications de code à grande échelle dans tous les référentiels et les hôtes de code. Pour les développeurs de logiciels, cela change la donne.

Ce nouvel outil offre également aux développeurs et aux entreprises un moyen facile de gérer les ensembles de modification qui en résultent grâce à des contrôles et des révisions de code afin qu’ils puissent être sûrs que chaque modification est fusionnée.

L’an dernier, plus de 800 000 développeurs ont utilisé Sourcegraph pour rechercher et comprendre leur code. De la même manière que le Big Data a perturbé les équipes de données, le big code crée des obstacles pour les équipes d’ingénierie d’entreprise qui ont du mal à naviguer et à apporter des modifications sur des bases de code de plus en plus grandes et complexes, selon Sourcegraph.

Avec batch changes, les entreprises peuvent désormais automatiser des refactors de code à grande échelle, des correctifs de sécurité et des migrations sur des milliers de référentiels. Le nouvel outil réduit rapidement la charge mentale, les dépenses de temps et le coût des changements à grande échelle pour les organisations.

Les entreprises ont affaire à 100 fois plus de code qu’il y a 10 ans. Dans le même temps, les développeurs devraient libérer du code plus rapidement que jamais, selon Quinn Slack, cofondateur et PDG de Sourcegraph.

« Au lieu que chaque propriétaire de référentiel modifie manuellement la même modification, Batch Changes permet aux développeurs de modifier le code sur des milliers de référentiels », a-t-il déclaré à TechNewsWorld.


Aide prometteuse, avec réservations

La base de code de n’importe quel projet logiciel est un monstre en croissance croissante, en partie à cause de la sécurité intégrée. Avec des fonctionnalités supplémentaires, y compris une interface utilisateur améliorée, il ya beaucoup de choses qui font croître une base de code et à son tour plus difficile à maintenir, selon Dirk Schrader, vice-président mondial pour la recherche sur la sécurité à New Net Technologies (NNT).

« Avoir un outil qui permet une recherche rapide et remplacer les éléments de code qui doivent être changés est certainement utile. Il devra être utilisé conjointement avec un outil de version car les dépendances y sont pour la plupart documentées », a-t-il déclaré à TechNewsWorld.

La capacité de Sourcegraph à trouver des variantes d’un échantillon de code donné semble assez puissante, utile à coup sûr, at-il ajouté. Malheureusement, la description n’est pas précise quant à savoir si le langage de programmation ou le cadre de développement utilisé a une influence sur l’outil.

« Une comparaison de cette capacité avec certaines fonctionnalités similaires dans OpenGrok d’Oracle, par exemple, serait intéressant à voir », a noté Schrader.

Pas open source, mais compétitif

Les modifications de lots ne sont pas open source. Tous les clients, y compris les utilisateurs du niveau gratuit, sont en mesure d’essayer les modifications par lots gratuitement et de créer jusqu’à cinq jeux de modifications. L’accès au produit complet est disponible sous forme d’add-on payant.

« Sourcegraph, cependant, a un produit de recherche de code universel gratuit et open-source que les développeurs peuvent utiliser pour rechercher et comprendre leur code », a déclaré Slack.

Les outils exclusifs de changement de code interne varient en qualité et en complexité, a-t-il noté. Google, par exemple, a construit un système interne pour automatiser les modifications de code à grande échelle appelées Rosie.

Au lieu de construire cette fonctionnalité à partir de zéro à l’interne, ce qui est extrêmement long et coûteux, les entreprises peuvent désormais utiliser les modifications de lots.

Des solutions open-source existent telles que Shepherd, Slack offert.

La vitesse de développement : une priorité d’entreprise

Lors d’une récente journée d’analystes, les dirigeants de Twitter ont directement lié la vitesse de développement au rythme de l’innovation et ont partagé un plan visant à « doubler notre vitesse de développement d’ici la fin de 2023 », selon Sourcegraph. Cela a permis de doubler le nombre de fonctionnalités par employé qui conduisent directement soit mDAU (statistiques mensuelles des utilisateurs quotidiens) ou des revenus.

Une étude de McKinsey a révélé que les entreprises à forte vitesse de développement voient des rendements plus élevés pour les actionnaires, la satisfaction de la clientèle et la fidélisation des employés. Les meilleurs outils de leur catégorie ont été identifiés comme le principal contributeur à la vitesse de développement, a noté Sourcegraph.

Pour accélérer la productivité des développeurs et surmonter les défis du grand code, certains géants de la technologie comme Google ont développé des outils internes propriétaires pour automatiser jusqu’à 70 pour cent des modifications de code. Toutefois, la plupart des entreprises n’ont pas la technologie dont elles ont besoin pour apporter des modifications de code à grande échelle et ont plutôt recours à la création manuelle et au suivi de milliers de demandes de traction, a expliqué Slack.

« La quantité de code que la plupart des entreprises ont crée une traînée massive sur la vitesse de développement », a déclaré Slack. « Lorsque l’expérience des développeurs est lente et douloureuse, le rythme de développement des produits est à la traîne, et toute l’entreprise en souffre. »

Batch Changes combler l’écart de productivité en habilitant les entreprises à maintenir facilement le code à jour et à rembourser la dette technologique dans chaque unité d’affaires, référentiel et hôte de code que l’entreprise utilise, at-il expliqué.

Automatiser et suivre les modifications de code à grande échelle

L’outil Batch Changes fournit aux développeurs une structure déclarative pour trouver et modifier le code sur des milliers de référentiels. Il dispose d’une interface utilisateur simple pour aider les entreprises à gérer les ensembles de modification qui en résultent grâce à des contrôles et des révisions de code afin qu’ils puissent être sûrs que chaque modification est fusionnée.

En automatisant les modifications de code à grande échelle, les entreprises peuvent :

  • Réduisez de 80 % le temps nécessaire pour apporter des modifications de code à grande échelle
  • Augmenter la vitesse et la précision tout en réduisant le risque d’introduire des changements de rupture
  • Améliorer la qualité du code dans l’ensemble de l’organisation en réduisant le risque de bogues ou de mauvais code pour la production

Au lieu de gérer manuellement des milliers de demandes de traction pour supprimer le code hérité, résoudre des problèmes de sécurité critiques ou mettre à jour les dépendances, les entreprises peuvent désormais automatiser les modifications de code à grande échelle avec les modifications de lots.

Les entreprises peuvent atténuer plus efficacement les défis associés au Big Code, améliorer la vitesse de développement et innover plus rapidement, a noté Slack.

Avantages de modifications de lots

L’outil Batch Changes se compare bien à ce que d’autres outils de code automatisés internes propriétaires atteignent, Stack offered. Le nouvel outil améliore ou remplace d’autres produits développés par l’entreprise.

« Sourcegraph a toujours permis aux développeurs d’explorer et de comprendre rapidement l’ensemble de leur code. Avec batch changes, les développeurs peuvent désormais automatiser et gérer les modifications de code à grande échelle », a-t-il déclaré.

L’utilisation des modifications par lots commence par la fonctionnalité de recherche de code universel de Sourcegraph. La recherche de code permet aux développeurs d’identifier partout où un changement doit se produire.

À partir de là, batch changes permet aux utilisateurs de :

  • Définir les changements de façon programmatique en créant un fichier de spécification déclaratif
  • Exécutez les spécifications via une interface de ligne de commande légère ou CLI
  • Suivre l’état du cycle de vie défini sur plusieurs hôtes de code via l’interface utilisateur sourcegraph ou l’interface utilisateur

Différences convaincantes

Contrairement à la majorité des outils internes, batch changes permet aux équipes de développement de suivre les progrès. La plupart des équipes s’appuient toujours sur des feuilles de calcul et des mises à jour d’état pour suivre manuellement les demandes de traction, selon Slack.

Les modifications de lot synchronisent automatiquement l’état de la demande de traction pour un suivi des progrès transparent et à faible frottement. Tout comme les outils d’intégration et de livraison continues (CI/DC) ont rendu beaucoup plus facile la mise en place d’un pipeline d’IC, batch changes rend les changements de code à grande échelle moins douloureux et plus accessibles, a-t-il dit.

Slack a ajouté : « Les équipes d’ingénierie de toutes tailles peuvent bénéficier de l’utilisation des modifications de lots. Même les petites entreprises modifient le code sur plusieurs référentiels et hôtes de code. Nous avons vu de plus petites équipes d’ingénierie avec un haut niveau d’automatisation ajouter des modifications de lots à leur jeu d’outils avec beaucoup de succès.

Les modifications de lots sont universelles et permettent aux équipes de développement de répondre à une variété de besoins (refactorisation, mises à jour de configuration, dépendances rapidement bousculantes après une mise à jour de sécurité, etc.).

Besoin noté

Les changements de lots changent la donne, a convenu Jade Lee, ingénieur logiciel chez Digital.com.

« Nous avons toujours eu des outils de numérisation automatisés, tels que Snyk pour Docker Hub et d’autres outils statiques de test de sécurité des applications (SAST), mais rien de tel que ce que Sourcegraph offre autant que je sache, at-il dit TechNewsWorld.

Les codeurs logiciels ont un besoin énorme de ce que batch changes fournit, en particulier au niveau de l’entreprise. Souvent, lorsque vous travaillez pour une société de développement de logiciels, vous vous retrouvez à travailler avec plusieurs référentiels hébergés sur différentes plateformes, at-il expliqué, ajoutant qu’il devient difficile de suivre les changements séparément.

Sourcegraph Batch Changes
Changements de lots sourcegraph
@www.technewsworld.com
Par exemple, lorsque vous travaillez sur un framework, la même refactorisation est parfois nécessaire sur plusieurs sources de code. Il peut s’agir de millions de lignes de codes qui doivent être refactorisantes. Être capable d’identifier, de modifier, de fusionner et de gérer vos référentiels à partir d’une seule application est très pratique », a déclaré Lee.

« Il ya moins besoin de cela dans les petits magasins de développement qui s’en tiennent généralement à une plate-forme pour héberger leur code source et aussi ne traitent pas avec la base de code d’autres entreprises, ou d’avoir à refactoriser trop tout à la fois, at-il dit.