Quanto tempo sobrevive uma frase errada
A 14 de agosto entrou na página «sobre» uma frase a dizer que não medimos de propósito nem a taxa de rejeição nem o tempo na página, porque ambos exigiriam uma sessão seguida ao longo de várias páginas, e isso pediria um aviso de consentimento no site que o incorpora.
A 27 de agosto lançámos o tempo na página. A frase ficou.
Treze dias verdadeira, vinte e oito horas falsa
As datas são exatas porque o repositório as conhece. A frase chega a 14 de agosto às 22:41. A permanência, em seis escalões, chega a 27 de agosto às 17:53 — e a partir desse minuto a segunda metade da frase é falsa. É corrigida a 28 de agosto às 21:57.
Foi portanto verdadeira treze dias e falsa vinte e oito horas, o que soa a boa proporção até se notar que nessas vinte e oito horas nada lhes ia pôr fim. Nenhum teste falhou. Nenhuma verificação se manifestou. A página compôs-se, a funcionalidade funcionou, e as duas contradisseram-se em silêncio em onze línguas.
Porque nenhuma verificação a podia apanhar
Toda a verificação automática deste projeto compara duas coisas que estão ambas no sistema: uma contagem de linhas contra onze, a largura de uma legenda contra o seu espaço, uma lista de tabelas contra o esquema. Uma afirmação numa página não é comparável com nada. É prosa sobre o mundo, e o mundo era aqui uma tabela nascida noutra parte do código.
Pode imaginar-se uma verificação que procure nomes de funcionalidades no texto «sobre» e os vá conferir. Seria longa, frágil, e ainda assim falharia os casos interessantes, porque a frase não nomeava uma tabela. Nomeava um motivo: isso pediria um aviso de consentimento. Esse motivo tinha deixado de valer em silêncio.
O que pôs fim à frase
Uma pergunta. Alguém quis saber se mostramos uma taxa de rejeição, e a resposta honesta obrigava a ler a frase ao lado, altura em que ela caiu.
É o mesmo mecanismo que no início do mês tirou desta página outras quatro afirmações, e não é um mecanismo, é sorte. A única coisa que melhora as probabilidades é escrever a afirmação suficientemente estreita para continuar verificável: não «não medimos X, porque Y», mas «X não está nesta página» — uma frase que descreve a página em que está, e não as razões por trás.
O que se generaliza
O código apodrece em voz alta. A prosa sobre o código apodrece em silêncio, e costuma apodrecer no momento em que o código melhora.
Foi preciso mudar treze sítios para corrigir uma frase: onze versões de língua de um texto de interface e dois parágrafos de HTML escrito à mão. Vale a pena conhecer esse número antes de escrever a próxima explicação, porque é o preço de toda afirmação que vai além da página onde está impressa.