Comentários no código como forma de auto-expressão

Recentemente, escolhendo uma estrutura não muito popular, me deparei com o seguinte trecho de código.


Porque robôs assassinos adoram unicórnios!

Não sei que pensamento e com que humor o autor queria transmitir, mas isso me levou a pensar: com que frequência usamos comentários que não são exatamente para o objetivo pretendido? Alguns achados sob o corte.

  // Não é recomendável ler se você não gosta das postagens de sexta-feira na terça-feira. 

Existem opiniões diferentes sobre o tópico de comentários de código. Existem adeptos do código auto-explicativo. De acordo com esse conceito, variáveis ​​e funções são nomeadas da maneira mais completa possível, o que em muitos casos elimina a necessidade de escrever comentários adicionais. Outros preferem descrever cada etapa dos comentários para ajudar a si mesmos e àqueles que mais tarde precisarão trabalhar com o código. Alguns escrevem construções de três andares em uma linha e não os comentam de forma alguma (ele próprio pecou, ​​admito). Mas existem outros casos.

Triste confissão


Você já escreveu algo para o qual você próprio odiava? Você entendeu que fazer isso é ruim e feio, mas as circunstâncias (requisitos do cliente, por exemplo) eram mais fortes que você? Isso aconteceu.

  // Esse código é péssimo, você sabe e eu sei.
 // Vá em frente e me chame de idiota mais tarde. 

Esse código é nojento, você sabe e eu sei. Seguir em frente, então me chame de idiota.

  // Eu não sou responsável por este código.
 // Eles me fizeram escrever, contra a minha vontade. 

Eu não sou responsável por este código. Fui forçado a escrever isso contra minha vontade.

  // Preciso encontrar um emprego melhor 

Está na hora de encontrar um emprego melhor

  // Dedico todo esse código, todo o meu trabalho, à minha esposa, Darlene, que 
 // tem que apoiar eu e nossos três filhos e o cachorro assim que 
 // divulgado ao público. 

Dedico todo esse código, todo o meu trabalho, à minha esposa Darlene, que terá que cuidar de mim, nossos três filhos e o cachorro, assim que ver a luz do dia.

E, às vezes, os padrões corporativos para escrever código forçam você a fazer algo que não se presta à lógica interna do desenvolvedor.

  const int RTE = 10;  // Como se o valor de 10 flutuasse ... 

Como se o valor 10 pudesse variar ...

Lembrei-me do caso quando recebi um pequeno trabalho em um diretório freelancer. O sistema de interação foi construído de maneira complexa, como resultado do qual não houve feedback direto do cliente. E era necessário fazer "como na figura, porque o cliente o aprovava", embora isso fosse feio do ponto de vista do código. Você já se deparou com estes também?

Advertências e conhecimento perdido


Acontece que é melhor não interferir com algum código. Não tente refatorar, otimizar ou melhorá-lo.

 / * * Você pode pensar que sabe o que o código a seguir faz.  * Mas você não.  Confie em mim.  * Brinque com isso, e você passará muitas noites sem dormir * xingando o momento em que você pensou que seria inteligente * o suficiente para "otimizar" o código abaixo.  * Agora feche este arquivo e vá jogar com outra coisa.  * / 

Pode parecer que você sabe o que o código subsequente faz. Isto não é verdade. Confie em mim. Entre nele e você passará muitas noites sem dormir amaldiçoando o momento em que você pensou que era inteligente o suficiente para "otimizá-lo". Agora feche este arquivo e vá jogar com outra coisa.

  / *
  * Caro mantenedor
  *
  * Depois de tentar "otimizar" essa rotina,
  * e você percebeu que erro terrível foi esse,
  * incremente o seguinte contador como um aviso
  * para o próximo cara.
  *
  * total_horas_do_aqui = 73
  * / 

Caro acompanhante! Quando você terminar sua tentativa de "otimizar" esse processo e perceber o quão monstruoso esse erro foi, aumente o contador subseqüente como um aviso para aqueles que o procuram.

  // Magia.  Não toque. 

A magia Não toque.

  / *
 depois de horas consultando o tomo do google
 eu descobri que pela vontade de forças desconhecidas
 sem a linha abaixo, o IE7 acredita que 6px = 12px
 * /
 tamanho da fonte: 0px; 

Após horas de consulta e pesquisa, descobri que, pela vontade de forças desconhecidas sem uma linha subseqüente, o IE7 considera que 6px = 12px

  // Gerado automaticamente, NÃO edite.  Todas as alterações serão desfeitas. 

Gerado automaticamente, NÃO edite. Todas as alterações serão descartadas.

Este último, a propósito, é um exemplo interessante de inteligência na luta contra tentativas de entrar no seu código. Eles dizem que funciona.

Dor e desespero


Você teve que trabalhar com algo que o levou ao desespero total? O desenvolvedor do visualizador de imagens Xee encontrou a análise do formato PSD. Mas com quem um programador pode compartilhar seus sofrimentos, se não com um comentário? Abaixo está uma tradução, o original está atualmente no github .

Aqui eu gostaria de parar por um momento e falar sobre o formato Adobe PSD. PSD não é um bom formato. O PSD nem é um formato ruim. Chamar isso de insulto a outros formatos ruins, como PCX ou JPEG. Não, o PSD é um formato monstruoso. Algumas semanas de trabalho nesse código elevaram meu ódio ao PSD ao nível de um fogo feroz, queimando com a paixão feroz de um milhão de sóis.

Se houver duas maneiras de fazer algo, o PSD usa os dois em lugares diferentes. Além disso, ele criará mais três maneiras que não teriam ocorrido a nenhuma pessoa sensata e as usará ao mesmo tempo. O PSD leva a inconsistência ao nível da arte. Por que, por exemplo, ele decidiu que esses blocos deveriam ser alinhados por quatro bytes, e esse alinhamento não deveria ser incluído no tamanho? Outros blocos em outros locais não alinham ou incluem alinhamento em tamanho. Aqui, no entanto, não está incluído. Qualquer uma dessas três maneiras serviria. Um formato razoável se concentraria em um. O PSD, é claro, usa todos os três e outros.

Tentar extrair dados de um arquivo PSD é como procurar algo no sótão do seu velho e excêntrico tio que morreu pelo ataque de um tubarão frenético de água doce no seu aniversário de 58 anos. O último detalhe não é particularmente significativo para a narração, mas atualmente passo muito tempo apresentando destinos interessantes para as pessoas responsáveis ​​por Ruba Goldberg entre os formatos de arquivo.

Anteriormente, tentei obter as especificações mais recentes do formato PSD. Para fazer isso, tive que pedir permissão a eles para considerar a possibilidade de me enviar esse volume sagrado. O processo incluía por fax cópias de certos documentos, possivelmente assinados com sangue. A única explicação que me vem à mente é a complexidade do processo - eles têm muita vergonha da criação dessa abominação. Naturalmente, não fui capaz de executar esse procedimento, mas, se pudesse, imprimia tudo em uma única página dessa especificação e os queimava. Se estivesse ao meu alcance, eu coletaria todas as cópias da especificação no mundo e enviaria um foguete diretamente ao Sol.

PSD não é meu formato favorito.

Não cheguei a esse nível de ódio, mas lembrei-me de como meus olhos estavam sangrando ao ler alguma documentação para a API de alguns desenvolvedores domésticos.

Maneira de divertir-se


Sabemos o quão chato e solitário é o trabalho de um programador. Porque às vezes todos nós jogamos a mesma pessoa no KVN. A maneira mais segura de fazer isso é nos comentários, é claro, mas existem opções.

  # Inicializador de árvore de Natal  
     toConnect = []  
     toRead = []  
     toWrite = []   
     primos = []  
     answers = {}  
     restante = {} 

Inicializador de árvore de Natal

  /////////////////////////////////////// this is a well commented line 

Linha bem comentada

  Repetir
     ...
 Até (JesusChristsReturn) 'Não tenho certeza 

Dogma religioso em dúvida ...

  // se eu vir isso de novo, vou começar a trazer armas para o trabalho 

Mais uma vez vou ver isso - vou começar a carregar armas para trabalhar

  // Abandona toda a esperança que entrais além deste ponto 

Desista da esperança de que todos venham aqui

  // bêbado, conserte depois 

Conserto bêbado depois

Brincando como uma piada, e uma vez eu me deixei uma nota semelhante em um adesivo no monitor: "Sóbrio - verifique as classes XXX, YYY" ...

  catch (exceção e) {
  // quem se importa?
 } 

Quem se importa?

  // Eu não entendo como o bit a seguir funciona, mas funcionou no programa do qual o roubei. 

Não sei como essa peça funciona, mas funcionou no programa, de onde a roubei.

  // Este código foi escrito por um gênio, então não tente entendê-lo com
 // seu minúsculo cérebro. 

Este código é escrito por um gênio. Não tente entendê-lo com seu cérebro em miniatura.

  dupla penetração;  // ai 

E realmente, oh ...

  // Adicionado porque o chefe mudou de idéia: 20020111,20020501,20020820, ...
 // Comentado porque o chefe mudou de idéia: 20020201,20020614,20020908, ... 

Adicionado desde o chefe mudou de idéia ... Comentou, porque o chefe mudou de idéia ...

  // Haleluya eu posso ir para casa! 

Aleluia, eu posso ir para casa

Eu fui para casa E você nos diz qual foi o seu comentário mais memorável ou divertido.

Obrigado por ficar conosco. Você gosta dos nossos artigos? Deseja ver materiais mais interessantes? Ajude-nos fazendo um pedido ou recomendando a seus amigos, um desconto de 30% para os usuários da Habr em um analógico exclusivo de servidores básicos que inventamos para você: Toda a verdade sobre o VPS (KVM) E5-2650 v4 (6 núcleos) 10GB DDR4 240GB SSD 1Gbps da US $ 20 ou como dividir o servidor? (as opções estão disponíveis com RAID1 e RAID10, até 24 núcleos e até 40GB DDR4).

Dell R730xd 2 vezes mais barato? Somente nós temos 2 TVs Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 a partir de US $ 249 na Holanda e nos EUA! Leia sobre Como criar um prédio de infraestrutura. classe usando servidores Dell R730xd E5-2650 v4 custando 9.000 euros por um centavo?

Source: https://habr.com/ru/post/pt420091/


All Articles