Ivre, il écrit une fonction qui pèse 100 Mo pour savoir si un nombre est pair
Les amis, on ne va pas se mentir : en tant que développeurs, vous êtes forcément déjà tombés sur des aberrations de programmation, qui ont probablement su vous donner de belles sueurs froides.
Je pense notamment à ces forçages à gros coups de IF ou SWITCH (qui a connu les GOTO ?), incrustés dans le code du fait d'une mauvaise conception, souvent parfois par flemme, et pour certains cas dans l'urgence ("TODO : refactoriser ce bout de code", OUAIS OUAIS, C'EST ÇA OUAIS !).
Qui sait, vous avez peut-être même quelques-unes de ces petites abominations à votre actif ? 👀
Rassurez-vous : il existe bien pire que tout ce que vous avez pu voir ! Au détour de mon surf sur les internets, je suis tombé sur un package JavaScript assez... particulier. 😅
Sobrement prénommé is-even (comprenez "est pair"), celui-ci se présente comme une fonction visant à indiquer si le nombre qui lui est transmis en paramètre est pair.
Seul hic, son unique fichier pèse quasiment 100 Mo (94,8 Mo pour être précis) ! Vous avez bien lu. CENT. P*****. DE. MEGA. OCTETS.
Alors comme moi à mon arrivée sur la page de ce projet, vous devez probablement vous demander quoi le fuck ?! GitHub s'avoue d'ailleurs lui-même vaincu face à la taille du fichier pour sa preview :
Mais figurez-vous que c'est bien lorsque l'on force l'ouverture dudit fichier que toute la magie opère :
ET BIM !
Des IF. Des ELSE. De la condition de grosse brutasse (comparaison stricte avec le triple égal), et de l'alternance true/false, évidemment.
Et c'est comme ça jusqu'à 1 000 001.
Avouez que du coup, on comprend mieux les 100 Mo. 👀
Rassurez-vous : ce projet du développeur vénézuélien Samuel Mariña, qui comptabilise 1200 étoiles sur GitHub et pas moins de 195 forks (😱) est bien évidemment à caractère humoristique. Il suffit pour cela de jeter un œil à son README :
"Ce projet est 100% sérieux et a été créé pour aider la communauté. Il y a beaucoup de situations où les jeunes développeurs éprouvent des difficultés pour déterminer si un nombre est pair, alors j'ai décidé de les aider en créant ce magnifique package. Avec un peu de chance, celui-ci sera un jour complet..."
Afin d'aider encore plus de monde dans sa démarche, on notera que Samuel a également pensé à créer le package is-odd, qui permet de savoir si un nombre est... impair (ben ouais, non mais fallait y penser aussi) !
On espère néanmoins pour lui et les contributeurs de son projet que le fichier a été généré de manière automatisée. 👀
Rappelons gentiment que le moyen le plus simple pour déterminer si un nombre est pair est la division par 2 : si le reste (modulo, opérateur % en JavaScript) de celle-ci vaut zéro, c'est que votre nombre est pair. 😉
À propos de l'auteur
Nicolas Lecointre
Chief Happiness Officer des développeurs, ceinture noire de sudo. Pour rire, j'ai créé Les Joies du Code. J'utilise Vim depuis 10 ans parce que je sais pas comment le quitter.
Articles similaires
Pour la blague, il invente MordorJS : un outil où chaque ligne fait un seul caractère
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Pour la blague, il invente MordorJS : un outil où chaque ligne fait un seul caractère
Les meilleurs easter eggs cachés dans vos langages et outils de développeurs
Insolite : il crée un langage de programmation avec des M&M's
Guide Michelin 2025 : un code spaghetti décroche sa première étoile
Plus de contenu
Quand je pousse sur la prod sans tester
Quand j'arrive au bureau le lundi matin et que je découvre qu'on a un incident de prod à gérer
Quand j'ajoute une ligne de code trouvée en ligne à mon projet
Quand la réunion dans laquelle je me trouve a débordé de plus d'une demi-heure
Quand toute l'équipe se met à chercher d'où vient le bug bloquant qu'on nous a remonté
Quand le stagiaire m'envoie un message pendant mes vacances pour me dire qu'il a poussé un truc en prod
Quand le chef débarque sans prévenir dans l'open space
Quand le nouveau me demande où il peut trouver la doc
Quand je pousse sur la prod sans tester
Quand j'arrive au bureau le lundi matin et que je découvre qu'on a un incident de prod à gérer
Quand j'ajoute une ligne de code trouvée en ligne à mon projet
Quand la réunion dans laquelle je me trouve a débordé de plus d'une demi-heure

