Dictionnaire abrégé du programmeur
Avant-propos
Les experts de l'industrie ici sur Medium et ailleurs aiment utiliser des termes fantaisistes – je veux dire techniques – pour gonfler l'importance de leurs articles et vous faire croire que ce qu'ils disent est en quelque sorte plus vrai. Si vous suivez les définitions de ces termes dans les manuels, vous risquez d'accepter une mauvaise idée et de passer la majeure partie de votre carrière à travailler plus dur et non plus intelligemment. Ce dictionnaire abrégé du programmeur donne des traductions réelles de ces termes afin que vous puissiez obtenir une interprétation plus précise des articles, conférences et vidéos populaires.
Les définitions données dans ce dictionnaire peuvent différer de celles de Wikipédia, mais soyez assurés qu'elles sont des représentations faisant autorité de l'utilisation réelle des termes… pour la plupart.
Définitions
solution - Lorsque je l'exécute sur mon ordinateur, il ne casse généralement pas
test - Lorsque l'ordinateur l'exécute sur mon ordinateur, il ne casse généralement pas
TDD (développement piloté par les déchirures, c'est-à-dire développement piloté par les tests) - Lorsque l'ordinateur l'exécute sur mon ordinateur, il se casse, donc je sais que je n'ai pas encore trouvé la solution
BDD (développement axé sur le comportement) - Je n'aimais pas ce que les autres appelaient TDD, alors j'ai trouvé un meilleur nom
test-first - je n'aimais pas ce que les autres appelaient TDD, alors je leur ai trouvé un meilleur nom
SOLID (développeur leet & furieux orienté objet snob) - Je suis tellement plus intelligent que vous, vous n'êtes même pas un vrai développeur
typage statique - j'écris ce qu'est quelque chose pour ne pas avoir à m'en souvenir
encapsulation - j'ai collé deux choses ensemble pour qu'elles soient comme une seule chose et qu'elles ne puissent pas être démontées
moderne - La plupart des gens l'utilisent encore, mais pas mon grand-père
performant - Lorsque je l'exécute sur ma machine, il ne semble pas lent
mémoire efficace - Lorsque je l'exécute sur mon ordinateur, je ne reçois pas d'erreurs de mémoire
gourmand en ressources — Lent et/ou à court de mémoire
planification - Nous nous asseyons et fixons une date pour pouvoir retourner au travail
estimation - je regarde la quantité de travail et je fais une supposition folle
modèle de conception - Cela a fonctionné pour moi avant
architecture - Cela a fonctionné pour moi avant XXL
algorithme - je l'ai fait fonctionner plus efficacement
structure de données - j'ai rendu les données plus faciles à utiliser
convention de nommage - je nomme les choses d'une certaine manière et tout le monde devrait le faire aussi
guide de style - je pense que cela a l'air joli, donc tout le monde devrait coder de la même manière
norme de codage - je code d'une certaine manière et tout le monde devrait le faire de cette façon
linter —Ce petit outil et plugin IDE qui me rappelle chaque petite erreur que je fais, car c'est beaucoup plus facile que d'apprendre à le faire correctement
meilleure pratique - C'est comme ça que je fais et je pense que tout le monde devrait
idempotent - je peux l'appeler plusieurs fois et il n'a pas cassé… pour le moment
testable - je peux écrire des tests pour cela
modulaire - je divise cela en plusieurs fichiers et ajoute des importations et des exportations
héritage - j'ai divisé cette chose en plus petits morceaux pour pouvoir les remettre ensemble avec de la superglue
composition - j'ai divisé cette chose en plus petits morceaux pour pouvoir les remettre ensemble avec du ruban adhésif
réutilisable — j'ai copié/collé ceci quelque part et ça a toujours fonctionné, donc je lui ai donné un nom
abstraction - j'ai copié/collé quelque part et ça a toujours fonctionné, alors je lui ai donné un nom fantaisiste et ajouté quelques boutons pour que ça ait l'air dingue
framework — j'ai copié/collé ceci quelque part et ça fonctionnait toujours, alors j'ai fait un package pour cela, ajouté des boutons et des boutons, écrit de la documentation et donné une conférence lors d'un événement chic
lisible — je sais à quoi cela ressemble, donc tout le monde devrait l'écrire de cette façon
évolutif - je pense que cela pourrait fonctionner pour des tâches beaucoup plus importantes telles quelles
maintenable — Il fonctionne tant que personne ne le touche, alors ne le touchez pas
simple - Il tient sur une seule ligne
facile - C'est la façon de travailler que Joe, le développeur superstar, a déclaré facile, alors allez lui demander
senior — je ne suis pas encore à la retraite
ordre supérieur - Cela est devenu trop compliqué alors je l'ai divisé en deux environ
mise en cache - j'ai enregistré le résultat pour ne pas avoir à le refaire plusieurs fois
aync — C'est quand ma première ligne passe après la seconde
synchronisation — Normale
boucle d'événement - je suis un développeur senior parce que je connais la boucle d'événement
recursion — C'est comme une boucle, mais fonctionnelle
application Web - C'est une page Web, mais je l'ai créée avec JavaScript
application Web progressive - C'est comme un signet fantaisie avec l'icône du menu Démarrer
SSR (rendu côté serveur) — J'ai fait fonctionner le serveur comme un navigateur pour pouvoir utiliser React sur le serveur, car je ne connais pas PHP, Python, NodeJS, Java, Go, C#…
CDN (réseau de diffusion de contenu) — J'ai écrit trop de code et le chargement a pris du temps, j'ai donc placé un serveur à côté de l'utilisateur
outillage : les applications réelles ont des outils, les applications jouets n'en ont pas
scrum - Les vraies entreprises l'ont, les entreprises de jouets n'en ont pas
composant —Je sais que faire des pages entières est mauvais pour les vraies applications, donc je le divise en plus petits morceaux
intégration continue — je peux exécuter des tests sur GitLab pour que mes coéquipiers puissent approuver mon MR
livraison continue - je peux déployer mes applications à partir de GitLab pour ne pas avoir à utiliser mon ordinateur pour cela
demande de fusion - je montre mes modifications à mes coéquipiers afin de pouvoir prendre une pause-café en attendant qu'ils la regardent
optimisation - je lui fais marquer 80+ dans Lighthouse
minification - Je ne sais pas comment faire fonctionner cela avec moins de code, donc je raccourcis tous les mots-clés en lettres simples et réduit tous les espaces blancs en espérant que le navigateur ne s'étouffe pas
vanille - je pense que c'est une technologie extraterrestre qui ne fonctionne pas sur Terre
séparation des préoccupations - je ne suis jamais concerné, je fais juste mon travail et rentre chez moi
principe de responsabilité unique — je fais en sorte que tout tienne sur un seul écran
règle de la moindre puissance - Cela ne fonctionne pas sans puissance, donc j'ajoute au moins beaucoup de puissance
KISS (restez simple, stupide) - Je suis intelligent donc je n'ai pas besoin de ça, c'est seulement pour les gens stupides
DRY (ne vous répétez pas) — C'est le principe sacré, celui qui sépare les vrais hommes des développeurs moyens, si vous avez des lignes de code qui se répètent, vous êtes stupide et moche !
MVP (produit minimum viable) — Un produit
date limite —La période de stress maximal, à ne pas confondre avec la date d'achèvement du projet
sprint —J'arrête au bout de deux semaines parce que Joe, le développeur superstar, a dit quelque chose à propos d'un arrêt idéal au bout de deux semaines
agile — Je peux commencer à coder avant d'avoir un plan, putain ouais !
classe - C'est mauvais parce que c'est passe-partout, mais c'est bon pour les applications d'entreprise
OOP (programmation orientée objet) - C'est ainsi que vous créez des applications sérieuses
FP (programmation fonctionnelle) - je peux écrire des applications entières avec juste une ligne
version majeure - j'ai apporté des modifications plus importantes que dans la version mineure
version mineure - j'ai apporté des modifications plus petites que dans la version majeure
dependency - Package essentiel pour créer de vraies applications
Jira - Je ne peux pas faire de vrai travail si je ne le connecte pas à Jira… mais je déteste toujours ça
refactoring - je n'aime pas ça donc je le rends plus joli
accessibilité - C'est une loi qui dit que vous avez besoin d'une police plus grande pour que les personnes aveugles puissent mieux voir votre site, et vous devez utiliser les attributs ARIA
responsive — Fonctionne sur mon iPhone et mon MacBook Pro
balisage sémantique - je sais <header>va en haut et <footer>va en bas
classe utilitaire - je peux coder du CSS dans mon fichier HTML car mes utilisateurs n'ont pas besoin de mise en cache et je suis bon avec l'édition multi-curseur, et c'est le seul cas où je peux légitimement casser DRY même si c'est un principe sacré
Annexe A
Si vous voulez réellement savoir ce que signifient ces termes, essayez Wikipedia, MDN et des endroits similaires.
Appendice B
Sur une note plus sérieuse, laissez-moi vous dire quelque chose qui est en fait vrai. En tant que développeur autodidacte, et surtout en tant que noob, j'avais l'habitude d'avoir un certain respect craintif pour les personnes qui utilisaient ces termes. Au cours de ma carrière, j'ai appris que 9,5 personnes sur 10 qui les utilisent ne savent pas ce que signifient réellement ces termes , et aujourd'hui même les noobs les utilisent. Ne les prenez donc pas trop au sérieux. Prenez-les aussi au sérieux que ce dictionnaire. Vous pouvez coder sans connaître la véritable signification de plus de cinq des termes de cette page et faire le travail mieux que beaucoup de gens qui les lancent avec désinvolture.
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































