Dictionnaire abrégé du programmeur

Mar 12 2023
Termes effrayants exposés pour ce qu'ils sont
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.
Photo de Pisit Heng sur Unsplash

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.