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.