Há algumas semanas, muitos programadores (ou talvez ex-programadores) começaram a notar que o modelo Codex da OpenAI desenvolveu uma obsessão por codificação defensiva.
Nada capturou isso melhor do que isRecord, uma guarda ridícula para verificar se um objeto do tipo objeto é realmente um objeto, que começou a aparecer em toda parte.
https://x.com/weswinder/status/2073959658167898594
https://x.com/cnakazawa/status/2062755985702494643
https://x.com/thdxr/status/2069927201638682976
A peculiaridade rapidamente se tornou um meme. Está até disponível como pacote npm.
Ei, conheço esse código
Sempre usei isWhatever para helpers que retornam booleanos. De vez em quando, precisei persuadir meus pobres colegas a usá-lo também, tanto por consistência de estilo quanto por uma coisinha chamada modo fundador.
Então, quando todo esse papo de isRecord chegou ao meu feed, tive que parar. Eu tinha certeza de que já tinha visto isRecord antes. E, claro, uma busca no código-base do tldraw revelou:

Essa guarda faz parte do nosso pacote de armazenamento de dados, onde todas as informações na tela do tldraw são armazenadas como um mapa reativo plano de objetos, ou "records". É uma guarda simples e mais sobre atribuir um tipo do que realmente proteger o store.As até onde sei, essas linhas são a origem do isRecord tão amado pelos modelos de codificação. Se você pesquisar o código no GitHub, encontrará o tldraw e muitas cópias do tldraw, seguidas por código mais novo escrito pelo Codex.

O único outro repositório que encontrei que usava isRecord dos tempos antigos é a versão do RocketChat, adicionada em julho de 2025:

Não quero me gabar, mas nosso isRecord é pelo menos dois anos mais antigo que isso. Na verdade, acho que escrevemos o armazenamento no verão de 2022, embora o git blame só nos leve até 2023, quando movemos o código do repositório privado para o público.
10.000 anos de isRecord
No final, tenho que admitir certo orgulho em ter tido uma pequena influência sobre os pesos de modelos tão incríveis. Da próxima vez que você vir um isRecord na sua base de código, por favor, pense no tldraw.





