Em 1987, mais ou menos, consegui um emprego em uma empresa que me contratou porque eu era uma das poucas pessoas que sabia usar o Apocalipse. O Apocalipse, se você nunca ouviu falar, foi essencialmente uma implementação baseada no PC do sistema operacional Pick - que, se você nunca ouviu falar, recebeu o nome de seu inventor, o fabuloso Dick Pick. Muito pode ser dito sobre o Pick OS, a maioria boa. Vários fornecedores supermini (Prime e MIPS, pelo menos) usaram Pick, ou suas próprias implementações personalizadas.
Esta empresa era uma loja Prime e, por seus sistemas internos, eles usavam Informações. (Não, esse era realmente o nome: era a implementação de Pick pela Prime.) Eles tinham um contrato com o estado para construir um sistema baseado em PC e haviam colocado cerca de um ano em seu projeto do Revelation antes que o cara fizesse todo o trabalho, que também era diretor do MIS, decidiu que não poderia mais fazer os dois trabalhos e me contratou.
De qualquer forma, ele estabeleceu vários padrões de codificação para o software baseado em Prime, muitos dos quais derivavam de duas condições básicas: 1) o uso de terminais burros de 80 colunas e 2) o fato de que, desde que o Prime não ' não tem um editor visual, ele próprio escreveu. Por causa da portabilidade mágica do código Pick, ele trouxe seu editor para o Revelation e construiu todo o projeto no PC usando-o.
O Apocalipse, é claro, sendo baseado em PC, tinha um editor de tela inteira perfeitamente bom e não se opôs quando você passou pela coluna 80. No entanto, nos primeiros meses em que estive lá, ele insistiu que eu usasse seu editor e seus padrões.
Portanto, o primeiro padrão era que toda linha de código tivesse que ser comentada. Cada linha. Sem exceções. A justificativa dele para isso era que, mesmo que o seu comentário dissesse exatamente o que você havia acabado de escrever no código, ter que comentar significava que você pelo menos pensou na linha duas vezes. Além disso, como ele alegremente apontou, ele adicionou um comando ao editor que formatou cada linha de código para que você pudesse colocar um comentário no final da linha.
Ai sim. Quando você comentou todas as linhas de código, foi com comentários de fim de linha . Em resumo, os primeiros 64 caracteres de cada linha eram para código, havia um ponto e vírgula e você tinha 15 caracteres para descrever o que seus 64 caracteres fizeram. Em resumo, estávamos usando uma convenção em linguagem assembly para formatar nosso código Pick / Basic. Isso levou a coisas parecidas com esta:
EVENT.LIST[DATE.INDEX][-1] = _ ;ADD THE MOST RECENT EVENT
EVENTS[LEN(EVENTS)] ;TO THE END OF EVENT LIST
(Na verdade, depois de 20 anos, finalmente esqueci a sintaxe de continuação de linha do R / Basic, por isso pode ter parecido diferente. Mas você entendeu.)
Além disso, sempre que você precisava inserir comentários com várias linhas, a regra era usar uma caixa de flores:
************************************************************************
** IN CASE YOU NEVER HEARD OF ONE, OR COULDN'T GUESS FROM ITS NAME, **
** THIS IS A FLOWER BOX. **
************************************************************************
Sim, eram necessários os asteriscos de fechamento em cada linha. Afinal, se você usou o editor dele, era apenas um simples comando do editor para inserir uma caixa de flores.
Fazer com que ele cedesse e me deixasse usar o editor interno do Revelation foi uma batalha e tanto. A princípio, ele insistiu, simplesmente porque essas eram as regras. Quando opus que: a) eu já conhecia o editor do Revelation; b) era substancialmente mais funcional que o editor dele; c) outros desenvolvedores do Revelation teriam a mesma perspectiva; ele respondeu que, se eu não treinasse o editor dele, não poder trabalhar na base de código Prime, que, como sabíamos, não aconteceria enquanto o inferno continuasse congelado. Finalmente ele cedeu.
Mas os padrões de codificação foram os últimos a ir. Os comentários das caixas de flores em particular foram uma perda estúpida de tempo, e ele lutou contra mim com unhas e dentes, dizendo que se eu usasse o editor certo, mantê-los seria perfeitamente fácil. (A coisa toda ficou agressiva e passiva.) Finalmente, cedi silenciosamente e, a partir de então, todo o código que trouxe para as revisões de código teve seus preciosos comentários em caixas de flores.
Um dia, vários meses de trabalho, quando eu já tinha me provado mais do que competente (especialmente em comparação com o notável desfile de outros codificadores que passaram pelo escritório enquanto eu trabalhava lá), ele estava olhando por cima do meu ombro enquanto eu funcionou, e ele percebeu que eu não estava usando comentários de caixas de flores. Ah, eu disse, escrevi um formatador de código-fonte que converte meus comentários em seu estilo quando os imprimo. É mais fácil do que mantê-los no editor. Ele abriu a boca, pensou por um momento, fechou-a, foi embora e nunca mais conversamos sobre padrões de codificação. Ambos os nossos trabalhos ficaram mais fáceis depois disso.