Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Trolldi : pour ou contre les noms de fonctions drôles dans son code ?
Les développeurs du client mail Eudora semblent avoir été un peu farceurs

Le , par Stéphane le calme

143PARTAGES

22  0 
Avez-vous utilisé dans votre code des noms de fonction pour amuser ?
Computer History Museum (CHM), l’une des plus grandes institutions au monde à explorer l'histoire de l'informatique et son impact sur l'expérience humaine, a annoncé le 22 mai 2018 la publication et la préservation à long terme du code source d'Eudora, l'un des premiers clients mails couronnés de succès. Une publication qui intervient après une négociation de cinq ans avec Qualcomm.

Il a fallu un peu plus d'un an à Steve Dorner pour créer la première version d'Eudora, qui comptait 50 000 lignes de code C et fonctionnait uniquement sur Macintosh. Comme de nombreux programmes produits par les universités, il était accessible à tous gratuitement.

En 1991, Qualcomm, qui était alors une société de communication de San Diego célèbre pour la technologie de communication cellulaire CDMA, a obtenu une licence Eudora de l'Université de l'Illinois. Dorner a finalement été embauché par l’entreprise pour continuer à le développer, travaillant à distance de sa maison dans l'Illinois.


Mais Qualcomm voyait d’un mauvais œil un produit cantonné sur Mac. Aussi, le responsable du projet Qualcomm, John Noerenberg, a confié à Jeff Beckley et Jeff Gehlhaar à San Diego la tâche de créer une version MS-DOS puis Windows du programme. « Le style de l'entreprise consistait à installer un ordinateur MS-DOS ou Macintosh sur le bureau de chaque employé, selon ce qui convenait le mieux à leurs besoins et à leurs préférences personnelles », a-t-il déclaré. « Nous avions besoin d'un logiciel de messagerie électronique qui soit intuitif sur Internet et indépendant de la plateforme. Il n'y avait rien de disponible sur le marché qui satisfaisait à l'un ou l'autre de ces objectifs, et encore moins aux deux ».

A l'origine, Eudora n'était utilisé qu'en interne chez Qualcomm et était plutôt bien accueilli. Noerenberg a entendu un responsable financier chez Qualcomm disant : « Je détestais le courrier électronique. Mais j'adore Eudora ». « C'est à ce moment que j'ai réalisé que nous étions sur quelque chose », a indiqué Noerenberg.

La société a déclaré plus tard : « En tant que leader du développement et de la communication numérique, Qualcomm a reconnu que le courrier électronique est un outil de communication important pour l'avenir ». C’est ainsi qu’elle l'a commercialisé en 1993. L'équipe Eudora de Qualcomm s'est rapidement développée : au départ il s'agissait d'un groupe de quatre personnes qui a progressivement gagné en importance. À son apogée, l’équipe était composée de plus de 50 personnes.

Eudora a gagné rapidement en popularité. Disponible à la fois pour IBM PC et pour Apple Macintosh, Eudora, à son apogée, comptait des dizaines de millions d'utilisateurs. Après 15 ans, en 2006, Qualcomm a décidé qu'Eudora ne correspondait plus à leurs autres grandes lignes de projet et a arrêté le développement.

Le petit mot de CHM

Len Shustek, président du conseil d'administration de CHM, y est allé de son commentaire :

« Le courrier électronique était l’une des “killer app” de l'informatique en réseau. La possibilité d'envoyer et de recevoir rapidement des messages sans avoir à être en ligne en même temps a créé une nouvelle forme de communication humaine. À ce jour, des milliards de personnes ont utilisé le courrier électronique.

« Le courrier électronique a une longue histoire, remontant au Compatible Time Sharing System (CTSS) du MIT et au AUTODIN du gouvernement américain au début des années 1960. Ces premiers systèmes, qui utilisaient souvent des réseaux et des protocoles de communication propriétaires, étaient généralement incompatibles entre eux; vous ne pouviez échanger des courriels qu’avec des personnes utilisant le même système.

« Le premier courriel sur l'ARPANET (le prédécesseur de l'Internet d'aujourd'hui) a été envoyé par Ray Tomlinson en 1971, et les formats de courrier sont devenus standardisés (RFC 524, RFC 561) peu de temps après. Dans les années 1980, le protocole TCP / IP codifie la communication entre les clients de messagerie (qui s'exécutent sur l'ordinateur de l'utilisateur) et le serveur de messagerie (où les messages sont reçus d'autres systèmes et stockés), de sorte qu'il peut y avoir des implémentations indépendantes. à la fois sur différents ordinateurs et systèmes d'exploitation.


Len Shustek, président du conseil d'administration de CHM

« Finalement, de nombreux clients de messagerie ont été écrits pour les ordinateurs personnels, mais peu ont eu autant de succès que Eudora. Disponible à la fois pour IBM PC et pour Apple Macintosh, Eudora, à son apogée, comptait des dizaines de millions d'utilisateurs satisfaits. Eudora était élégant, rapide, riche en fonctionnalités et pouvait faire face à des dépôts de courrier contenant des centaines de milliers de messages. À mon avis, c'était le meilleur client de courrier électronique jamais écrit, et il n'a pas encore été surpassé.

« Je l'utilise encore aujourd'hui, mais, hélas, la dernière version d'Eudora a été publiée en 2006. Grâce à Qualcomm, nous sommes heureux de publier le code source d'Eudora pour son intérêt historique, et avec le faible espoir qu'il pourrait être ressuscité ».

Mais qui a écrit les fonctions dans cette partie du code source ?

Le code source comprend un fichier anal.c, il s’agit probablement d'outils d'analyse, mais quelqu’un a du VRAIMENT s’amuser avec les noms des fonctions :

Code C : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
OSErr AnalInit(void) 
void AnalScan(void) 
short AnalScore(struct TAESessionState *pSession); 
OSErr AnalDispose(void);     
Boolean AnalWarning(MessHandle messH) 
OSErr AnalFindMine(void) 
#define IsAnalHot(collection) ((collection)%2==0) 
long LastAnalUse; 
void AnalScanPete(PETEHandle pte,Boolean toCompletion,Boolean toSpeak) 
void AnalScanPeteInner(PETEHandle pte, struct TAESessionState *pSession, long *pScanned,Boolean toSpeak); 
  
void AnalIdle(void) 
{ 
if (AnalCount>1) return;    // still active 
if (!AnalCount) return; // dead already 
  
// flush the anal stuff if we haven't used it in a long time 
if (DiskSpunUp() && LastAnalUse-TickCount()>GetRLong(MAX_ANAL_IDLE)) 
    AnalDispose(); 
}

Télécharger le code source (Windows et Mac)

Source : Computer History Museum

Et vous ?

Que pensez-vous de cette initiative du CHM ?
Que pensez-vous vous du choix des noms de variables et des fonctions ? Utilisez-vous aussi dans votre code des noms de fonction pour amuser ceux qui font maintenir votre code ?
Avez-vous des anecdotes à partager sur des noms de fonctions ou autres portions de code qui vous ont marqué ?

Voir aussi :

Trolldi : des chercheurs préconisent de ne pas ouvrir de messages extraterrestres, ils pourraient contenir des maliciels pour détruire la Terre
Trolldi : une brève histoire totalement exacte des langages de programmation qui est complètement inspirée de faits
Trolldi : une blague de Richard Stallman sur l'avortement crée la polémique, 26 ans après avoir été écrite dans la documentation du projet glibc
Trolldi : une société propose de vous euthanasier pour conserver votre cerveau, dans l'espoir de pouvoir le sauvegarder plus tard dans le cloud
Trolldi : et si le rôle de la chance dans le succès était beaucoup plus important que nous ne le pensions ? C'est ce que suggère une étude

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de 10_GOTO_10
Membre expérimenté https://www.developpez.com
Le 25/05/2018 à 23:29
Des noms de fonctions ? Pas qui me viennent à l'esprit. Par contre, j'ai vu un répertoire partagé qui s'appelait "Michel Anouch". Je ne connaissais pas ce Michel, mais c'était sans aucun doute un génie. Son répertoire contenait un tas de trucs vraiment utiles...

Et puis un jour quelqu'un m'a expliqué : en fait c'est "miscellaneous" mais personne ne savait comment ça s'écrit alors on l'a appelé "Michel Anouch".
15  0 
Avatar de Bono_BX
Membre confirmé https://www.developpez.com
Le 25/05/2018 à 11:42
Petits hors sujets connexes :
- dans ma précédente mission (un gros du e-commerce), j'ai eu droit à un charlot qui m'a fait une classe avec des propriétés A, B, C et Yt ... à ce niveau là, j'aurai préféré des noms drôles ...
- toujours dans cette boîte, mon collègue est tombé sur des valeurs de tests genre "bâtard", "salope", "va te faire ...", etc. ... mon pote a vu rouge et était parti pour démonter le gus, qui lui a répondu que c'était normal car le projet en question était la détection de mots interdits dans les commentaires, donc d'injures
15  1 
Avatar de Fleur en plastique
Membre habitué https://www.developpez.com
Le 25/05/2018 à 10:32
Qui utilise encore Eudora ? Personne. Retour de karma : les développeurs l'ont eu dans le cul.
10  2 
Avatar de LSMetag
Expert confirmé https://www.developpez.com
Le 25/05/2018 à 11:13
Je suis évidemment pour. Le problème c'est qu'il y a une revue de code. Et quand on le remarque (tout le temps donc), on me demande d'y changer.
7  0 
Avatar de Pyramidev
Expert confirmé https://www.developpez.com
Le 25/05/2018 à 14:12
Je ne suis pas fondamentalement contre un peu d'humour dans le code, mais à condition que cela ne détériore pas la lisibilité.

Un nom de fonction est généralement un très mauvais endroit pour insérer de l'humour, surtout si cette fonction est utilisée à de nombreux endroits.
En effet, d'un côté, une fonction devrait avoir un nom suffisamment descriptif pour que l'on connaisse son rôle. Mais, d'un autre côté, si une fonction a un nom trop long, cela oblige plus souvent son utilisateur à revenir à la ligne, ce qui entrave l'écriture d'un code concis. Un nom de fonction doit être à la fois descriptif et synthétique, donc il n'y a pas la place d'y mettre de l'humour.
7  0 
Avatar de Mr-Jay
Membre régulier https://www.developpez.com
Le 25/05/2018 à 16:18
J'ai pour habitude d'utiliser des fonctions et variables avec des noms claires, hormis si c’est un test, dans ce cas bonjour les tototutu et toute la famille.

Juste un jour, je travaillais sur un projet concernant le recensement d’arnaques, tout en regardant un documentaire ou film (je ne sais plus trop) sur le canada, c'est à ce moment que j'ai réalisé qu'une de mes variables se nommait tabArnaque, me voila donc avec un nom de variable compréhensif et drôle (sur le moment)^^ .
7  0 
Avatar de Nolwennig
Futur Membre du Club https://www.developpez.com
Le 05/06/2018 à 9:45
des noms de fonctions, non, mais les noms des vars au sein des fonctions oui parfois

ie: $benchmarx sur une app de trading ...
6  0 
Avatar de Sunchaser
Membre expert https://www.developpez.com
Le 25/05/2018 à 12:26
Citation Envoyé par Bono_BX Voir le message
...
- toujours dans cette boîte, mon collègue est tombé sur des valeurs de tests genre "bâtard", "salope", "va te faire ...", etc. ... mon pote a vu rouge et était parti pour démonter le gus, qui lui a répondu que c'était normal car le projet en question était la détection de mots interdits dans les commentaires, donc d'injures
Ca c'est vraiment énorme comme truc
5  0 
Avatar de Glutinus
Expert éminent sénior https://www.developpez.com
Le 05/06/2018 à 16:35
NON.

Pourquoi ?

Parce que !!!
5  0 
Avatar de v1cent
Membre éclairé https://www.developpez.com
Le 05/06/2018 à 9:12
Quand je lis le code de quelqu'un d'autre pour débuguer ses trucs, que je tombe sur des noms "rigolos" (caca prout) alors qu'ils font des erreurs de débutants ça a le don de m'énerver

Il m'arrive de glisser quelques plaisanteries subtilement en commentaire par contre mais il faut savoir le doser

Sinon j'ai pris l'habitude de glisser des calembours ou contrepèteries dans les données de test, l’intérêt étant qu'elles ne se remarquent pas au premier coup d'oeil
2  0