Por que traduzir em nomeação é ruim e outras características interessantes de nossa percepção do código

imagem

Inesperadamente, muitas pessoas pensam que você pode escrever o código como quiser e todas essas regras e recomendações são chatas. Bem, cada pessoa tem direito a uma opinião.

No entanto, o código escrito dessa maneira para ler, por algum motivo, a maioria das pessoas se recusa.

E há uma razão. Você já experimentou fadiga de leitura? Por exemplo, literatura técnica complexa, escritório, outro idioma? Estou certo de que aconteceu. E sim, é precisamente fadiga, embora não seja o mesmo que durante o esforço físico. A leitura difícil do texto consome muito mais recursos do cérebro.

Código também é texto. E você pode escrevê-lo de tal maneira que a leitura se torne uma ocupação extremamente desagradável e que consome muita energia. Se você deseja fechar o editor de repente e observar os selos enquanto trabalha com fragmentos especialmente terríveis do portal corporativo, é provável que o problema não seja a preguiça ou o esgotamento repentino. A coisa é o que você lê.

O tópico da leitura é complexo e extenso. O pior de tudo é que praticamente não há dados sérios sobre ele, no nível de pesquisa médica e fisiologia, no RuNet. Vou tocar apenas na ponta do iceberg, pela simples razão de que o estudo de todo o iceberg requer uma educação especializada (que eu não tenho) ou um estudo semelhante das fontes para ele (para as quais ainda não estou pronto).

Para começar, o mecanismo de leitura não é uma habilidade especial, mas o reconhecimento de padrões mais comum.

O cérebro tem uma limitação fisiológica: o tempo de reconhecimento da imagem é quase constante, desde a aparência de um objeto na frente dos olhos até o cérebro, percebendo que esse objeto tem cerca de 500 ms. Este não é um tipo de constante física, mas um número obtido com base em dados experimentais. É claro que todas as pessoas são diferentes, alguém reage um pouco mais rápido, alguém mais devagar, até a mesma pessoa reage de maneira diferente, dependendo do estado. No entanto, em média, esse número é aproximadamente o mesmo para todos. Também é interessante notar que o tempo de reconhecimento de padrões não difere muito para objetos de diferentes complexidades, por exemplo, um cão e a letra C serão reconhecidos com quase a mesma eficiência.

Para um leitor curioso

Depois de reconhecer a imagem, o cérebro a traz à sua imagem do mundo e de alguma forma opera com ela. Por exemplo, vemos uma tabela, objetos sobre ela, uma sala e geramos um espaço virtual com base nas imagens obtidas. Há uma maçã e uma faca em cima da mesa, sabemos que uma maçã pode ser descascada ou cortada, uma faca pode ser ferida, se uma maçã for tocada, ela rolará e assim por diante. Sem realizar nenhuma ação, podemos assumir quais consequências elas levarão e, com base nisso, podemos construir nosso comportamento para alcançar os objetivos desejados.

Ao ler, reconhecemos as imagens das letras, as correlacionamos com os movimentos dos feixes (pronunciando mentalmente a nós mesmos), construímos uma palavra sobre esses movimentos e colocamos a palavra resultante em nosso modelo de conteúdo de texto. É claro que isso é apenas no começo do aprendizado da leitura; de fato, os mecanismos de leitura funcionam muitas vezes com mais eficiência; a fase de falar com a experiência desapareceu completamente.

Por exemplo, você já se perguntou por que a velocidade de leitura é estimada por palavras e não por letras? A explicação é simples - depois de um certo nível de uma carta, uma pessoa não lê. Ele lê as palavras. A ortografia é extremamente cara, por exemplo, a palavra "segundo", em média, seria de três segundos e meio. Em vez disso, o cérebro aprende constantemente e, após um certo número de reuniões com a escrita de uma palavra, começa a reconhecê-la inteiramente, ignorando o estágio de montagem de uma palavra a partir de letras.

Como uma palavra é reconhecida


Em algum lugar em nossa memória estão armazenadas imagens de referência de palavras. Como há uma quantidade incrível deles, eles são armazenados com um alto grau de compressão, 10/10 chacais. Ao ler, obtemos a imagem da palavra e a comprimimos no mesmo estado, depois começamos a procurar por correspondência.

A pesquisa é MUITO otimizada. Pode-se argumentar com segurança que não há questão de enumeração direta do discurso. Naturalmente, é impossível descrever esse mecanismo em detalhes, no entanto, tentaremos criar um modelo aproximado.

Na primeira etapa, as palavras adequadas para o comprimento são selecionadas. Lembro que não há dados de texto armazenados no cérebro, mas gráficos, por isso vale a pena entender que apenas imagens semelhantes na proporção comprimento / largura são selecionadas.

Em seguida, as maiores correspondências na aparência são selecionadas a partir delas. Em termos relativos, as imagens compactadas são sobrepostas e, se as cores dos pontos do padrão e da imagem coincidirem, elas serão processadas posteriormente. Portanto, a propósito, o cérebro pode ver palavras ou imagens, mesmo onde realmente não estão. Por exemplo, o fenômeno de crentes que descobrem o rosto de Jesus Cristo em objetos claramente impossíveis, como uma sombra de árvore ou uma rachadura no pão, é amplamente conhecido.

Em seguida, um mapeamento de contexto é realizado. Reclamam aquelas palavras que não podem estar próximas ou apenas no texto deste tópico. O resultado é uma amostra pequena, cuja exatidão o cérebro está relativamente confiante. A palavra desta amostra com maior peso será considerada a opção correta.

Se, por algum motivo, a amostra for muito grande ou não houver uma preponderância óbvia de uma palavra, o cérebro precisará retornar às fontes e coletá-lo das letras.

Depois que a imagem é reconhecida, o objeto correspondente é gerado com base e inserido no espaço virtual do texto.

E onde está o código?


Por alguma razão, as pessoas escrevem código como se antes não tivessem escrito ou lido nada na vida. Bem, ou como se o planeta fosse capturado por alienígenas sugadores de sangue e o código estivesse escrito à mão armada por seus explosores de prótons.

Mesmo na década de 90, na Internet, não havia estilos de escrita tão estranhos, como o mozhno cd opt-out para compiladores.

As etapas acima do reconhecimento de texto não levam em consideração todos os recursos da leitura, mas essas etapas são confirmadas com segurança pela pesquisa e podem ser usadas para explicar por que algumas coisas ao escrever um texto estragam bastante sua legibilidade.

O exemplo mais comum é transliteração nos nomes de funções e variáveis.

removeFromSklads(42); 

Não existe um modelo para a palavra sklads no conjunto de padrões de uma pessoa normal. Eu tenho que ler em inglês, vocalizar, encontrar uma analogia em russo. Isso aumenta o tempo da primeira leitura em cerca de três vezes.

Um exemplo ainda mais desagradável são as abreviações sem sentido.

 cntr_nm_code = 38; 

Provavelmente o autor queria dizer o código do nome do país. Hmm ... Bem, digamos. Além do problema óbvio com a leitura, temos um problema ao introduzir esse objeto em nosso espaço de código virtual. Se houver uma maçã no texto, mas nós escrevemos uma maçã e no futuro indicamos que a maçã deve ser cortada, você terá que escrever “cortar a maçã”. Quando precisamos escrever que atribuímos um código a um país, intuitivamente começamos a digitar country_name_code e paramos por aí. Não há linhas em nossas cabeças, lembra?

Após o uso repetido, o cérebro lembrará cntr_nm_code, mas nas primeiras vezes tropeçará e examinará a dica do editor. E é bom se essa dica for.

O tópico das palavras "inapropriadas" é bem entendido. Existem estudos mostrando que ler palavras que não se encaixam no contexto ou violam a sintaxe é muito pior. Por exemplo, a frase "rabo de gato" é muito mais fácil de ler e mais rápida que "rabo de gato" devido à sua óbvia ilogicidade.

No entanto, é comum alguns desenvolvedores esquecerem a ordem das palavras em uma frase e, de fato, o senso comum ao escrever código.

 website.userAdd(); read_from_cache_token(); wasBookReaded; 

Desmontar todos os métodos de leitura de complicações por um longo e tedioso. Aqui está uma pequena lista, de forma generalizada, das principais práticas que ajudarão você a escrever códigos incorretos. Se você tentar o modelo de leitura acima, os motivos serão óbvios.

Palavras desconhecidas (transliteração, palavras fictícias, abreviações não óbvias)
Violação da ordem sintática usual (activePageSet (42))
Incompatibilidade de formulário com valor (enableTheme em vez de themeIsActive)
Mimetismo de palavras (Nome, nome, _nome e _Nome em uma função)
Estilos de nomenclatura personalizados (funções PHP padrão, por exemplo)

Por que tudo isso causa fadiga


No momento, não existem muitos métodos para estudar os processos que ocorrem no cérebro humano. Se os cientistas começarem a cutucá-lo, o cérebro do poder da computação se transforma em biomassa inútil. Como parte do tópico do artigo, contei com estudos eletroencefalográficos .

Em qualquer atividade, o cérebro gera eletricidade e esses dados podem ser registrados. É claro que o conteúdo informativo desse método é aproximadamente semelhante às tentativas de estudar a vida da cidade através da radiação térmica de um satélite, mas mesmo esses dados serão suficientes para entender o cenário geral.

Aqui está uma ilustração de um estudo da reação de uma pessoa a palavras reais e inventadas

imagem

Dados semelhantes podem ser vistos no estudo da leitura de frases com uma violação do significado.

Como pode ser visto no gráfico, a atividade elétrica do cérebro ao ler uma palavra desconhecida é quase duas vezes maior e o potencial se desvia mais da norma. Obviamente, o gasto de energia do cérebro é muito maior, razão pela qual o "cansaço" de ler esse texto.

Conclusão e má metáfora


Embora eu não goste de analogias, há uma excelente comparação que nos permite entender exatamente o que experimentamos ao ler um texto com todos esses absurdos. Imagine que você tem uma chave de fenda. Ele torce os parafusos perfeitamente, por muitos anos você pegou um conjunto extenso de bits para uma grande variedade de fixadores - um slot reto, uma cruz regular, uma cruz com asterisco, torx, hexágono ... Em uma palavra, tudo o que é necessário para a operação normal.

E agora você precisa torcer mil parafusos. Você abre a caixa e vê lá os parafusos enferrujados e tortos. Você pega um e vê que o slot é feito na forma da letra Z. Jurando silenciosamente, você o gira com o taco reto habitual, que com dificuldade, mas apareceu.

O próximo parafuso autorroscante deve ser torcido com um hexágono, mas apenas em um ângulo de 15 graus em relação à cabeça do parafuso. Você entende que só pode torcer com uma chave. Ok, você pode pensar uma vez e girá-lo com as mãos.

No próximo parafuso autorroscante, o slot é rasgado. Jurando alto, você o torce com um alicate.

O seguinte parafuso autorroscante possui uma trava magnética especial e pode ser torcido apenas com um bastão magnetizado. Você encontra um ímã em algum lugar, magnetiza um morcego e o gira.

O próximo parafuso autorroscante também possui uma trava magnética, mas só pode ser torcido com um bastão NÃO magnetizado. Você chuta a caixa com os parafusos e vai para a barra mais próxima.

Os mecanismos de leitura são uma ferramenta depurada e ajustada que funciona de maneira fantástica e eficiente. Quando você encontra um texto mal escrito, precisa abandonar seu uso e retornar ao nível em que iniciou na primeira série. Naturalmente, ao mesmo tempo, você gasta muito mais esforço e fica com raiva por estar fazendo um trabalho sem sentido.

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


All Articles