Ces 3 outils ont fait de moi un bien meilleur programmeur
Agence web » Actualités du digital » Ces 3 outils ont fait de moi un bien meilleur programmeur

Ces 3 outils ont fait de moi un bien meilleur programmeur

Vous êtes probablement comme moi et vous avez une soif insatiable pour que de nouveaux logiciels étanchent votre curiosité. Il existe une multitude d'applications utiles. Certaines applications sont suffisamment puissantes pour changer votre façon de penser et de vous produire. Voici trois outils qui m'ont fondamentalement changé en tant que programmeur.

Neovim: le rêve d'un brinateur

Qu'il s'agisse de fonctionnalités, d'extensibilité ou de facilité d'édition, Neovim me permet de créer l'environnement exact que je veux et me permet de me concentrer uniquement sur le code – améliorant mon efficacité et mon expérience globale des développeurs.

Bricoler sans fin et une configuration personnalisée

Neovim est un éditeur de texte hautement personnalisable avec des fonctionnalités de modification de code avancées qui sont à égalité avec d'autres éditeurs de code comme le code vs. Toutes les fonctionnalités de VS Code ne sont pas adaptées, mais la réponse de Neovim est la configurabilité infinie.

Neovim a un vaste système de plugin, et il y a toujours des plugins frais qui font leur chemin dans l'écosystème. Le bricolage sans fin de mon système m'a pleinement plongé dans la programmation; Je n'écris pas seulement du code pour créer des applications, mais j'écris du code pour écrire du code mieux. S'il y a une gêne qui me gêne, je peux installer un plugin ou écrire le code moi-même.

Édition sans effort

La plus grande victoire pour Neovim est la facilité avec laquelle il facilite l'édition de texte. Se déplacer, changer et supprimer des mots sans beaucoup de réflexion est vraiment libérateur. J'ai l'impression que l'approche de l'interface utilisateur graphique typique du montage est maladroite et gêne tout simplement. Neovim me permet de me concentrer uniquement sur la signification du code plutôt que sur le processus d'édition lui-même. Je me sens plus proche du code. Mes idées se manifestent sur la page sans que je devais penser aux mécanismes de l'édition. Mais cela ne s'arrête pas là, car Neovim a une prise en charge de première classe pour les arbres-itters, et cela ne fait que l'édition bien meilleure.

Tree-Sitter est un langage spécial qui peut être configuré pour comprendre à peu près n'importe quel texte structuré imaginable: des langages de programmation, une marque et même des syntaxes spécialisées comme TYPST. Tree-Sitter permet à ses utilisateurs de manipuler du texte d'une manière spécifique à la langue. Par exemple:

  • Navigation: sauter de la fonction à la fonction ou en parties spécifiques d'une fonction.

  • Sélection et déplacement des blocs IF-Else entiers sans copier et coller.

  • Commutation d'arguments dans une fonction autour, sans copier et coller.

Seule votre capacité limite ce que vous pouvez faire. Neovim est livré avec de nombreuses configurations d'arborescence (appelés dialectes), et il y en a beaucoup plus dans la nature.

Un système de billetterie: réglez vos billets, puis renversez-les

Lorsque vous gérez un grand projet, il est impossible de se souvenir de chaque tâche que vous devez faire. Lorsque vous écrivez un petit script (<1000 lignes), vous savez ce qui est directement devant vous: ce que vous écrivez et ce que vous devez écrire - vous avez un objectif clair en tête, et vous pouvez voir la ligne d'arrivée.

Pour les projets plus importants qui couvrent plusieurs packages, référentiels et dizaines de milliers de lignes, il est impossible de se souvenir de toute la liste des tâches en constante augmentation que vous devez accomplir. En fait, même le simple fait de basculer fréquemment entre les packages pour faire de petites modifications vous fait souvent perdre de la concentration. C'est là qu'un système de billetterie est utile.

Pour ceux qui ne connaissent pas le terme, un système de billets ressemble beaucoup à un système de tâches: chaque élément de tâche est un billet, qui décrit un problème discret – par exemple, un bug ou une fonctionnalité. Le pouvoir vient de la façon dont vous organisez ces billets; Vous pouvez les étiqueter ou les placer sur une planche Kanban.

Un conseil d'administration de Kanban se compose d'un ensemble de colonnes, et chaque colonne représente l'état du billet. J'aime utiliser les États: arriéré, ensuite, faire et faire. Le conseil d'administration de Kanban représente lui-même un projet ou un objectif – par exemple, «implémenter l'authentification». Chaque billet est une petite unité de travail qui contribue à cet objectif. Par exemple, «Créez des tables de base de données». Lorsque vous créez un billet, il atterrira dans la colonne « arriéré ». Lorsque vous souhaitez traiter le ticket bientôt, il entre dans la colonne « Suivant ». Je suis sûr que vous pouvez deviner le reste.

Au fil du temps, alors que vous travaillez sur votre code, vous découvrirez inévitablement des problèmes qui mettent trop de temps à résoudre à l'heure actuelle. C'est à ce moment que vous créez un billet, taguez-le et s'il appartient à un objectif spécifique, ajoutez-le à la carte Kanban pertinente.

J'ai généralement 1 à 2 projets (Kanban Boards) ouverts, ce que je prévois de faire dans un avenir immédiat.

La planification trop loin en avance peut rendre votre travail inflexible, et vous passez plus de temps à réorganiser votre plan que vous ne le souhaitez.

L'utilisation d'un système de billetterie est essentielle si votre projet prend plus d'une semaine ou deux. Avant d'en utiliser un, je commençais souvent la journée en regardant vivement mon code, en essayant de penser à la prochaine étape logique. C'est la mauvaise façon d'organiser votre projet logiciel, et la préalable vos tâches vous libère de décrocher constamment. Vous réfléchissez à l'avance et vous libérez de vous concentrer sur le code.

Github propose un excellent système de billetterie avec une planche Kanban – ils les appellent des projets. Vous pouvez créer des projets globaux ou spécifiques au référentiel. De plus, si vous utilisez un système de prise de notes flexible (comme le mode org, couvert ensuite), cela vous permet de réorganiser facilement vos tâches, ce qui convient également; Cependant, la collaboration avec les autres est quelque chose à garder à l'esprit.

Org-ROAM: un système avancé de prise de notes

Dans la dernière section, j'ai fait référence au mode org, un package EMACS qui vous permet de réorganiser rapidement les titres, de les étiqueter et même de les transformer en éléments de tâche. Org-mode est un package absolument gigantesque, qui a des centaines de fonctionnalités – après six ans de l'utilisation, je n'ai pas encore tout appris.

Org-ROAM est un autre package EMACS construit sur le mode org. Le mode org fournit la disposition de document de base et une liste sans fin de fonctionnalités pour les manipuler; Org-ROAM fournit des capacités de liaison, vous permettant de relier les notes ensemble dans un graphique. Cela fonctionne un peu comme les hyperliens sur le World Wide Web.

Tout en étant programmeur, vous apprenez toujours. Que vous appreniez un nouveau cadre, une nouvelle bibliothèque ou une langue, ce sont tous des sujets absolument gigantesques, et ils prennent des années à maîtriser. Il existe de nombreuses facettes et bizarreries sur ces technologies, ce qui signifie que votre apprentissage n'est jamais complet. Pour vous souvenir de tout ce que vous apprenez, vous avez besoin d'un moyen efficace de déposer des idées individuelles dans des endroits où ils sont faciles à récupérer. L'utilisation d'un système de prise de notes traditionnel ne convient pas; Au lieu de cela, vous devez tracer des limites claires autour de chaque idée, tout comme les pages Web sur le Web. De plus, vous avez besoin d'un moyen de rechercher rapidement vos notes. Org-ROAM fournit les deux.

Le flux de travail de chacun sera différent, mais le mien doit créer une note pour chaque idée et placer des liens vers plusieurs autres notes qui agissent comme des index. Ci-dessous, vous pouvez voir un exemple de jouet

Les détails des résumés seraient beaucoup plus utiles dans un véritable échantillon. Les résumés descriptifs aident à maintenir votre compréhension des idées apprises, d'autant plus que vous passez régulièrement vos notes.

Cette approche me permet d'obtenir un aperçu résumé, bien organisé et d'actualité de tout ce que j'ai appris. Lorsque je revisite ces notes plus tard, je réapprends souvent une grande partie d'un sujet en seulement 10 minutes. Contrairement aux systèmes de prise de notes traditionnels, en vous frottant sur une langue que je n'ai pas utilisée depuis longtemps ne me fatigue jamais mon esprit, car les informations sont si accessibles.

De plus, le système de notes basé sur des graphiques permet un processus de liaison bidirectionnel. Vous mettez en évidence certains mots clés dans vos notes et les liez à d'autres notes. Ces liens sont appelés backlinks, et ils rendent le bloc de texte visible dans l'autre note. Backlinking est très puissant, car il déniche souvent des informations longues.

Org-ROAM n'est pas le seul système de prise de notes qui fournit une puissante fonction de backlinking. Cependant, il s'intègre uniquement au package en mode org. Ces deux packages se combinent pour intégrer mes listes de tâches avec ma base de connaissances personnelle.

Comme vous pouvez le voir dans la capture d'écran ci-dessus, les tâches ne sont que des titres en mode org avec un mot-clé « TODO » qui leur est préfixé. Org Agenda (partie du package de mode org) les ramasse et les affiche dans un tampon spécial. Puisque nous utilisons également Org-ROAM, nous pouvons les interliner avec n'importe quelle autre note Org-ROAM.

Les autres systèmes similaires qui sont beaucoup plus faciles à utiliser sont l'obsidienne et le logseq – tous les deux conviennent à ceux qui veulent simplement un système fonctionnel. Org-ROAM et EMACS sont destinés à ceux qui veulent un flux de travail très adapté – IE, programmeurs.


J'ai un article entier dédié à la raison pour laquelle je préfère utiliser Neovim que vous pourriez trouver utile. Nous avons également des articles sur l'utilisation de l'obsidienne pour prendre des notes ou l'utilisation de l'obsidienne pour tenir un journal; Ces deux servent de bonne introduction à l'obsidienne.

Si Org-ROAM a piqué votre intérêt, visitez la page de destination de l'organisation pour en savoir plus. Vous pouvez également explorer le mode org. Si vous êtes nouveau dans EMACS, la configurer n'est pas facile, mais Doom Emacs rend le processus beaucoup plus simple, et c'est ma distribution de choix EMACS.

★★★★★