Smiling man sitting cross-legged with a laptop, surrounded by code snippets, web browser graphics, and internet icons on a bright blue background.
Agence web » Actualités du digital » Outils de codage et ides que chaque étudiant CS devrait connaître

Outils de codage et ides que chaque étudiant CS devrait connaître

Vous commencez une nouvelle année scolaire et vous devez vous mettre à zéro. Vous vous demandez quels outils sont là ou ce qui vous manque. Il y en a des milliers, mais si vous êtes nouveau sur le sujet, il n'est pas énoncé en noir et blanc. Voici huit types d'outils dont vous aurez besoin.

8

Cahiers: étapes de bébé pour les programmeurs

Les ordinateurs portables fournissent un environnement interactif pour l'écriture et l'exécution de code. Dans un ordinateur portable, chaque ligne de code peut être exécutée séparément, en s'appuyant sur les lignes précédentes. Ils sont souvent utilisés pour le prototypage rapidement, l'expérimentation d'idées et la visualisation des résultats d'une manière claire et bien formatée.

Les ordinateurs portables sont un choix populaire en science des données et sont couramment utilisés lorsque vous travaillez avec des données complexes telles que DataFrames (données tabulaires) ou exécutez des requêtes de base de données (par exemple, avec QueryBook).

Jupyter est le roi des cahiers, mais il n'est pas seulement limité à Python. Il existe une longue liste de noyaux jupyter, qui lui permettent d'exécuter de nombreux langages de programmation. Avec Jupyter, vous pouvez exécuter et visualiser facilement votre code.

7

Code Forders, pour le codeur paresseux

Si vous vous retrouvez manuellement en formatant votre code pour le rendre beau, vous voulez probablement un formateur de code. Un formateur de code lit votre code et applique un style cohérent à travers. Cela ne semble pas beaucoup, mais moins de distractions signifient plus de concentration.

Les formateurs souvent utilisés sont:

  • C: Clang-Format, retrait GNU

  • C ++: Clang-Format, retrait GNU

  • Allez: gofmt

  • Java: format Google Java

  • Python: noir, autopep8

  • Web (JS, JSON, YAML, Markdown): Biome, plus joli

6

Linter

Un linter est un outil qui recherche un code douteux. Vous analysez votre code source, il consulte ses règles internes et affiche des avertissements chaque fois que vous faites quelque chose que vous ne devriez pas. Les linceurs sont configurables et parfois enfichables (ce qui signifie qu'il accepte les plugins). Vous pouvez définir des règles liées au style ou à des problèmes de sécurité plus graves.

Les linceurs sont courants et les outils souvent utilisés sont:

  • Python: Ruff, Flake8, Pylint

  • JS: Eslint

  • Java: vérification, basse

  • C: Clang-tidy, cppcheck

  • C ++: Clang-tidy

5

Conteneurisation: exécutez n'importe quel service, n'importe quel endroit, à tout moment

Le paysage de développement d'aujourd'hui n'est pas une question de forfaits, et si vous comptez sur des services (par exemple, des bases de données comme Postgres, MySQL, etc.), vous voulez probablement éviter de les installer et de les configurer manuellement. L'approche la plus courante consiste à utiliser des conteneurs préconfigurés, qui sont de petits environnements isolés dans lesquels vous pouvez installer un logiciel (tel que les services).

Des outils comme Docker et Podman vous permettent de télécharger et d'exécuter des recettes préconfigurées (aka dockerfiles). Ces dockerfiles décrivent comment configurer les conteneurs et configurer les services souhaités pour vous. Cela fait passer le fardeau des détails ennuyeux sur les experts: les agents de dockerfile.

4

Contrôle de la version: des points de sauvegarde qui sauvent votre cul

Un système de contrôle de version (VCS) est un outil qui gère et suit les révisions de votre logiciel. Lorsque vous apportez des modifications à votre code source, le VCS les enregistre d'une manière qui vous permet de remonter dans le temps. Considérez-le comme un système de points de contrôle pour votre code – il vous donne la liberté de modifier drastique sans dommages irréversibles.

Il n'y a vraiment qu'un seul roi dans le monde VCS: Git. Je voudrais dire que Git est un outil simple, mais ce n'est pas le cas. Cependant, vous pouvez aller loin avec des commandes simples, de sorte que la courbe d'apprentissage n'est pas du tout très abrupte.

Si vous soumettez des affectations de code pour votre classe, vous le ferez presque certainement via un service comme GitHub, un endroit qui héberge les référentiels de logiciels GIT.

Vous n'obtiendrez pas très loin d'écriture de code sans installer des bibliothèques tierces (aka dépendances ou packages). Nous installons des packages avec un gestionnaire de packages. Chaque langue a son gestionnaire de packages et sa méthode d'installation de packages.

Les gestionnaires de package diffèrent de manière qui ne est pas évidente. Dans Python, chaque gestionnaire de packages stocke des packages téléchargés à différents endroits, certains mondiaux et certains locaux de votre projet. Pour JavaScript, certains gestionnaires de packages utilisent beaucoup d'espace; D'autres ont été conçus pour éviter cela spécifiquement.

Vous trouverez ci-dessous quelques gestionnaires de packages communs pour les langues communes:

  • Python: UV, Pip, Pipx

  • Javascript: npm, pnpm

  • Java: maven

  • C: Conan, VCPKG

  • C ++: Conan, VCPKG

Les gestionnaires de package sont aussi cruciaux que les roues d'une voiture.

2

Coureurs de test: pas de tests; Mauvais code

Le test est un composant crucial lors du développement de logiciels. Un coureur de test est un cadre de test spécifique à la langue. Vous utilisez un tel framework pour exécuter des parties de votre code dans des conditions contrôlées, puis vous assurer qu'elle correspond aux attentes.

Les tests servent deux objectifs:

  1. Assurez-vous que le logiciel fonctionne.

  2. Assurez-vous que le logiciel ne se casse pas après les modifications (AKA Régression Tests).

Lorsque vous changez quelque chose, comment savez-vous que quelque chose d'autre ne s'est pas cassé? Par conséquent, lorsque votre code commence à devenir complexe, les cadres de test sont un must absolu. Le logiciel sans tests, c'est comme l'embauche de médecins sans références; C'est une folie absolue.

Un cadre de test dépend de la langue, et les plus courants dont vous avez probablement besoin sont:

  • C: Googlest ou Unity

  • JavaScript: Jest, Mocha ou Varest

  • Java: Junit

  • Lua: éclaté ou Luaunit

  • Python: Pytest

Un IDE, ou environnement de développement intégré, est une application logicielle qui rassemble les outils essentiels souvent nécessaires pour développer des logiciels. De nombreux IDE sont disponibles – certains sont conçus pour des langages de programmation spécifiques, tandis que d'autres prennent en charge un large éventail de langages.

Sans IDE, vous manquerez plusieurs caractéristiques cruciales, telles que

  • Intelligence linguistique: fournit du code automatique de code (suggestions de code), la mise en surbrillance de la syntaxe (texte coloré) et d'autres fonctionnalités avancées, comme le refactorisation (modifications de code).

  • Syntaxe Highlighting: applique des couleurs à votre code source pour le rendre plus lisible.

  • Debugger: un outil qui exécute votre code et vous permet de parcourir la ligne par ligne pour identifier et corriger les bogues.

  • Créez l'automatisation: outils pour aider à créer et exécuter votre logiciel.

  • Interface du coureur de test: vous permet d'exécuter et de gérer des tests directement dans l'IDE, vous intégrant souvent avec des cadres de test spécifiques à la langue afin que vous puissiez rapidement exécuter des tests individuels sans quitter l'IDE ou écrire des commandes complexes.

La liste ci-dessus ne fait que gratter la surface de ce qu'un IDE peut faire. Presque tous ceux qui écrivent un logiciel utilisent un IDE ou un outil similaire – par exemple, VIM, EMACS ou Neovim. J'ai déjà donné une liste de raisons pour lesquelles j'utilise Neovim, qui peut vous intéresser.

Vous pouvez trouver une liste de comparaison des IDE sur Wikipedia, mais le choix le plus populaire est souvent VScode. VScode prend en charge de nombreuses langues, et c'est extensible. Il y a des milliers d'extensions sur le marché du code VS qui résolvent beaucoup de problèmes. En fait, nous avons déjà couvert une liste des extensions essentielles vs de code. Certains prétendent même que le code VS en fait un meilleur programmeur.


Les IDE, les VC, les cahiers et les formateurs de code vous facilitent la vie en retirant certains des éléments laborieux de l'écriture de logiciels.

Les linceurs et les coureurs de test sont essentiels pour attraper des bogues et assurer une norme de qualité acceptable pour votre code.

Les gestionnaires de packages et la conteneurisation vous permettent d'utiliser le code des autres, mais les conteneurs vous permettent également de conclure votre code d'une manière garantie de fonctionner sur chaque machine.

Étant donné que vous êtes nouveau dans la programmation, vous pouvez également être intéressé par les habitudes pour devenir un meilleur programmeur.

★★★★★