Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🇬🇧 🇫🇷

Apprendre à utiliser les outils de programmation

Il y a des logiciels exprès pour t'aider à développer des logiciels. Si tu écris des programmes, alors tu as besoin d'eux.

Sujet: L'Environnement de Développement intégré (IDE)

Prérequis:

  • Tu écris des scripts et du code.

À propos:

  • Écrire du code c'est difficile :
    • La syntaxe : les caractères spéciaux, les parenthèses qui manquent, les noms de variables à rallonge.
    • Refactoriser : changer sans tout casser, lancer pour tester, attends! j'ai oublié un point-virgule..
  • Les années 90 c'est fini : tu mérites les outils de l'état de l'art.
  • Les IDEs sont des logiciels qui t'aident à écrire du code. Ils sont très sophistiqués maintenant :
    • VSCode/VSCodium (utilisé pendant la session).
    • Alternatives: Vim, RStudio (pour R), Atom, IntelliJ, emacs..
  • L'expérience d'édition que tu mérites :
    • Fermeture automatique des délimiteurs.
    • Passage automatique des lignes/blocs en commentaire, retrait des commentaires.
    • Sélection d'expressions valides.
    • Balader les lignes / les blocs vers le haut / vers le bas.
    • Édition verticale / multiple.
    • Enregistrement de macros.
    • Personnalisation des raccourcis : approprie-toi les.
    • ...
  • Le Protocole de Serveur de Langage (LSP) et les fonctionnalités que tu mérites :
    • Coloration syntactique : rends ton code plus facile à lire.
    • Annotations : mets les erreurs en valeur avant même de lancer le programme.
    • Formattage automatique : ne bricole plus tes espaces blanc / tes tabulations à la main.
    • Les actions de code :
      • Renomme tes identifiants.
      • Répare rapidement tes erreurs.
      • Extrait tes variables.
      • Extrait tes fonctions.
      • ...
  • L'intégration que tu mérites :
    • Invoque ton interpréteur / ton compilateur directement depuis ton éditeur.
    • Passe tes lignes / tes blocs à ton interpréteur.
    • Le Protocole d'Adaptation du Débugger (DAP): étudie l'exécution de ton programme en direct.

Git

Sujet 1 : Git de zéro

Prérequis:

  • Tu écris des scripts et du code.
  • Tu as déjà fait des copies de tous tes fichiers / dossiers avant de modifier un de tes programme parce que tu avais peur de casser quelque chose.

À propos:

  • Introduction.
  • Configurer le logiciel.
  • Produire des commits.
  • Publier ton projet sur un dépôt partagé (Github/Gitlab).
  • Les branches et les bonnes pratiques.

Sujet 2 : Collaborer avec Git

Prérequis (au choix):

  • Tu n'es pas la seule personne à écrire du code dans ton projet.
  • Tu l'es, mais tu veux faire avancer différentes versions de ton projet en parallèle.
  • Tu veux contribuer à un projet partagé ou open-source.

À propos:

  • Cloner.
  • Pousser/Tirer vers/depuis le même dépôt partagé.
  • Les conflits git et ce qu'ils veulent vraiment dire.
  • Fusionner/Rebaser.
  • Les bonnes pratiques.

Sujet : Les bonnes pratiques : code, tests, documentation [pas encore de support]

Prérequis:

  • Tu écris des scripts et du code.
  • Quelqu'un·e (toi compris·e) a déjà cassé quelque chose en modifiant un programme.
  • Quelqu'un·e (toi compris·e) a du mal à comprendre ses propres programmes.

À propos:

  • Le code c'est la puissance :
    • La puissance est dangereuse.
    • Exemples de code dangereusement cassé.
  • Les tests automatiques : protection contre la défaillance.
    • Tester demande du courage :
    • Le code et les tests ne sont pas lus que par des machines.
    • Exemples de code cryptique.
  • La documentation c'est la sagesse :
    • Définition d'un bug : il n'y a pas de bug sans spécification.
    • Tu es humain·e, adresse-toi aux humain·es.
    • Différentes sortes de documentation :
      • Pour les utilisateur·ices :
        • Le contexte : pourquoi l'utiliser, pour quoi faire.
        • Le guide : comment l'utiliser.
        • Le statut : la situation actuelle du projet.
      • Pour les développeur·ses :
        • Rapport d'implémentation : comment ça marche.
        • Détails techniques : pourquoi ces choix, les avantages, les limites.
      • Pour les deux : les spécifications : ce que ça fait:
        • Informelles.
        • Formelles.
    • Les supports de documentation :
      • le README.md
      • Les docstrings.
      • Les commentaires.
      • Les tests.
      • Le nom des identifiants.
      • Le style de code.
    • Si tu perds tout sauf la documentation, tu peux tout reconstruire facilement.

Sujet : (Neo)Vim

Prérequis:

  • Tu écris des scripts et du code.
  • Tu est à l'aise avec ton clavier.
  • Tu aimes les raccourcis clavier / les macros / les automatisations, tout ce qui rend ton travail plus rapide.
  • Ça te convient de passer des semaines (sérieux) à apprendre / configurer un bout de logiciel extrêmement sophistiqué, juste pour qu'il corresponde exactement à tes besoins, et te permette d'approcher la vitesse ultime d'écriture de code : celle de la pensée.

À propos:

  • Introduction à vim/neovim.
    • Les premiers pas avec :vimtutor/:Tutor.
    • Désactive <left>/<right>/<up>/<down>: concentre-toi sur la rangée de repos.
    • Pratique. Pratique. Pratique.
    • Le fichier de configuration :
      • Les raccourcis personnalisés.
      • Les "méta-raccourcis" pour facilement ajouter/modifier les raccourcis.
      • Commence à fabriquer ton chez-toi.
    • Naviguer dans les fichiers.
  • Vimscript/lua.
  • Les extensions.
  • Développer avec vim/neovim: au moins toutes les fonctionnalités d'un IDE doivent être fluides.