kludge

folclore

programaçãocultura de operações

Uma correção desajeitada e deselegante que funciona apesar de ser feia.

Um kludge (ou kluge) resolve o problema pela força, não pelo projeto: a fita adesiva do software. Não é automaticamente ruim, às vezes é o custo honesto de um prazo, mas todo kludge é um pequeno depósito na dívida técnica.

Um kludge é uma solução que funciona e não deveria. É deselegante, apoia-se em algo incidental, e todo mundo, inclusive quem a escreveu, sabe que está errada, mas ela vai para produção porque o prazo era real e a correção certa não cabia no tempo restante.

A palavra é mais velha que o software, vem da gíria de engenharia, e sua permanência na computação diz algo sobre a relação da profissão com os próprios compromissos. Há afeto nela: chamar o próprio trabalho de kludge é uma forma de honestidade, o reconhecimento de que você sabia mais e escolheu outra coisa. A alternativa, apresentar o mesmo código como projeto, é pior.

A sabedoria prática não é que kludges sejam proibidos. É que precisam ser rotulados. Um kludge com um comentário explicando o que ele contorna, por que a abordagem correta não estava disponível e o que precisaria mudar para removê-lo é um passivo documentado que alguém pode aposentar. O mesmo código sem esse comentário é um mistério que sobreviverá a todos que o entendiam, e a arqueologia de uma base de código grande é sobretudo kludges não documentados que ninguém ousa tocar.

Também conhecido como: kluge, kludgy

Fontes

  • The Jargon File

Todos os verbetes do glossário