En 1987 environ, j'ai pris un emploi dans une entreprise qui m'a embauché parce que je faisais partie d'une petite poignée de personnes qui savaient comment utiliser Revelation. La révélation, si vous n'en avez jamais entendu parler, était essentiellement une implémentation sur PC du système d'exploitation Pick - qui, si vous n'en avez jamais entendu parler, tire son nom de son inventeur, le fabuleusement nommé Dick Pick. On peut en dire beaucoup sur Pick OS, la plupart du temps bien. Un certain nombre de fournisseurs de supermini (Prime et MIPS, au moins) ont utilisé Pick, ou leurs propres implémentations personnalisées.
Cette société était une boutique de premier ordre et pour ses systèmes internes, elle utilisait Information. (Non, c'était vraiment son nom: c'était l'implémentation de Pick par Prime.) Ils avaient un contrat avec l'État pour construire un système basé sur PC, et avaient consacré environ un an à leur projet Revelation avant que le gars ne fasse tout le travail, qui était aussi leur directeur MIS, a décidé qu'il ne pouvait plus faire les deux emplois et m'a embauché.
En tout cas, il avait établi un certain nombre de normes de codage pour leur logiciel basé sur Prime, dont beaucoup dérivaient de deux conditions de base: 1) l'utilisation de terminaux stupides à 80 colonnes, et 2) le fait que depuis Prime ne l'a pas fait. t avoir un éditeur visuel, il avait écrit le sien. En raison de la portabilité magique du code Pick, il avait introduit son éditeur dans Revelation, et avait construit l'ensemble du projet sur le PC en l'utilisant.
Revelation, bien sûr, étant basé sur PC, avait un très bon éditeur plein écran, et n'a pas objecté lorsque vous avez dépassé la colonne 80. Cependant, pendant les premiers mois que j'y étais, il a insisté pour que j'utilise son éditeur et ses normes.
Ainsi, la première norme était que chaque ligne de code devait être commentée. Chaque ligne. Aucune exception. Son raisonnement était que même si votre commentaire disait exactement ce que vous veniez d'écrire dans le code, devoir le commenter signifiait au moins avoir pensé à la ligne deux fois. De plus, comme il le soulignait joyeusement, il avait ajouté une commande à l'éditeur qui formatait chaque ligne de code afin que vous puissiez mettre un commentaire de fin de ligne.
Oh oui. Lorsque vous avez commenté chaque ligne de code, c'était avec des commentaires de fin de ligne . En bref, les 64 premiers caractères de chaque ligne étaient pour le code, puis il y avait un point-virgule, et ensuite vous aviez 15 caractères pour décrire ce que faisaient vos 64 caractères. En bref, nous utilisions une convention de langage assembleur pour formater notre code Pick / Basic. Cela a conduit à des choses qui ressemblaient à ceci:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(En fait, après 20 ans, j'ai finalement oublié la syntaxe de continuation de ligne de R / Basic, donc cela peut avoir l'air différent. Mais vous voyez l'idée.)
De plus, chaque fois que vous deviez insérer des commentaires multilignes, la règle était d'utiliser une boîte à fleurs:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Oui, ces astérisques fermants sur chaque ligne étaient obligatoires. Après tout, si vous utilisiez son éditeur, ce n'était qu'une simple commande d'éditeur pour insérer une boîte à fleurs.
Le faire céder et me laisser utiliser l'éditeur intégré d'Apocalypse a été une véritable bataille. Au début, il a insisté, simplement parce que c'était les règles. Quand j'ai objecté que a) je connaissais déjà l'éditeur d'Apocalypse b) il était nettement plus fonctionnel que son éditeur, c) d'autres développeurs d'Apocalypse auraient la même perspective, il a rétorqué que si je ne m'entraînais pas sur son éditeur, je ne le ferais pas jamais être en mesure de travailler sur la base de code Prime, ce qui, comme nous le savions tous les deux, n'allait pas se produire tant que l'enfer ne serait pas gelé. Finalement, il a cédé.
Mais les normes de codage ont été les dernières à disparaître. Les commentaires de la boîte à fleurs en particulier étaient une stupide perte de temps, et il m'a combattu bec et ongles dessus, disant que si j'utilisais juste le bon éditeur, les maintenir serait parfaitement facile. (Le tout est devenu assez passif-agressif.) Finalement, j'ai cédé tranquillement, et à partir de là, tout le code que j'ai apporté aux revues de code a eu ses précieux commentaires sur les boîtes à fleurs.
Un jour, plusieurs mois après le début de mon travail, alors que je me suis avéré plus que compétent (surtout en comparaison avec le remarquable défilé d'autres codeurs qui sont passés par ce bureau pendant que j'y travaillais), il regardait par-dessus mon épaule alors que je a fonctionné, et il a remarqué que je n'utilisais pas de commentaires de boîtes à fleurs. Oh, j'ai dit, j'ai écrit un formateur de code source qui convertit mes commentaires dans votre style lorsque je les imprime. C'est plus facile que de les maintenir dans l'éditeur. Il ouvrit la bouche, réfléchit un instant, la referma, s'en alla et nous ne parlâmes plus jamais des normes de codage. Nos deux tâches sont devenues plus faciles par la suite.