En 1987, más o menos, trabajé en una empresa que me contrató porque era una de las pocas personas que sabían cómo usar Revelation. Revelation, si nunca has oído hablar de él, fue esencialmente una implementación basada en PC del sistema operativo Pick, que, si nunca has oído hablar de él, recibió su nombre de su inventor, el fabulosamente llamado Dick Pick. Mucho se puede decir sobre Pick OS, la mayoría es bueno. Varios proveedores de supermini (Prime y MIPS, al menos) usaron Pick o sus propias implementaciones personalizadas.
Esta empresa era una tienda Prime, y para sus sistemas internos utilizaban información. (No, ese era realmente su nombre: era la implementación de Pick de Prime.) Tenían un contrato con el estado para construir un sistema basado en PC, y habían dedicado aproximadamente un año a su proyecto Revelation antes de que el tipo hiciera todo el trabajo, quien también era su director de MIS, decidió que ya no podía hacer los dos trabajos y me contrató.
En cualquier caso, había establecido una serie de estándares de codificación para su software basado en Prime, muchos de los cuales se derivaban de dos condiciones básicas: 1) el uso de terminales tontas de 80 columnas y 2) el hecho de que desde Prime no No tengo un editor visual, él había escrito el suyo. Debido a la portabilidad mágica del código Pick, había llevado a su editor a Revelation y había construido todo el proyecto en la PC usándolo.
Revelation, por supuesto, basado en PC, tenía un editor de pantalla completa perfectamente bueno, y no se opuso cuando pasaste la columna 80. Sin embargo, durante los primeros meses que estuve allí, insistió en que usara su editor y sus estándares
Entonces, el primer estándar fue que cada línea de código tenía que ser comentada. Cada línea. Sin excepciones. Su razón para eso era que, incluso si su comentario decía exactamente lo que acababa de escribir en el código, tener que comentarlo significaba que al menos pensaba en la línea dos veces. Además, como señaló alegremente, había agregado un comando al editor que formateaba cada línea de código para que pudiera poner un comentario al final de la línea.
Oh si. Cuando comentaste cada línea de código, fue con comentarios de fin de línea . En resumen, los primeros 64 caracteres de cada línea eran para el código, luego había un punto y coma, y luego tenía 15 caracteres para describir lo que hicieron sus 64 caracteres. En resumen, estábamos usando una convención de lenguaje ensamblador para formatear nuestro código Pick / Basic. Esto llevó a cosas que se veían así:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(En realidad, después de 20 años, finalmente he olvidado la sintaxis de continuación de línea de R / Basic, por lo que puede haber sido diferente. Pero se entiende la idea).
Además, cada vez que tenía que insertar comentarios multilínea, la regla era que usara una caja de flores:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Sí, se requerían esos asteriscos de cierre en cada línea. Después de todo, si usabas su editor, era solo un simple comando de editor para insertar una caja de flores.
Lograr que cediera y me permitiera usar el editor incorporado de Revelation fue toda una batalla. Al principio fue insistente, simplemente porque esas eran las reglas. Cuando objeté que a) ya conocía al editor de Revelation b) era sustancialmente más funcional que su editor, c) otros desarrolladores de Revelation tendrían la misma perspectiva, él respondió que si no me entrenaba en su editor no lo haría nunca podría trabajar en la base de código Prime, que, como ambos sabíamos, no iba a suceder mientras el infierno permaneciera sin congelar. Finalmente se rindió.
Pero los estándares de codificación fueron los últimos en desaparecer. Los comentarios de la caja de flores en particular fueron una estúpida pérdida de tiempo, y luchó contra ellos con uñas y dientes, diciendo que si solo usara el editor adecuado, mantenerlos sería perfectamente fácil. (Todo se volvió bastante pasivo-agresivo). Finalmente cedí en silencio, y desde entonces todo el código que traje a las revisiones de códigos tenía sus preciosos comentarios de caja de flores.
Un día, varios meses en el trabajo, cuando me había demostrado más que competente (especialmente en comparación con el notable desfile de otros codificadores que pasaron por esa oficina mientras trabajaba allí), él estaba mirando por encima de mi hombro mientras yo funcionó, y se dio cuenta de que no estaba usando comentarios de caja de flores. Oh, dije, escribí un formateador de código fuente que convierte mis comentarios a tu estilo cuando los imprimo. Es más fácil que mantenerlos en el editor. Abrió la boca, pensó por un momento, la cerró, se fue y nunca más volvimos a hablar de normas de codificación. Nuestros dos trabajos se hicieron más fáciles después de eso.