Chesterton's fence
expressãocultura de operaçõesprogramação
O princípio de que não se deve remover algo sem antes entender por que foi colocado ali.
A parábola: não derrube uma cerca atravessada numa estrada só porque sua finalidade não é óbvia, pois alguém teve uma razão que você talvez não veja. No código, é a cautela contra apagar a linha estranha, a verificação esquisita ou a gambiarra legada antes de descobrir o que silenciosamente depende dela.
A cerca de Chesterton é o argumento de que você não deve remover algo antes de saber por que aquilo foi colocado ali. A passagem original descreve uma cerca atravessando uma estrada: o reformador diz que ela não serve a nada e deve sair, e a resposta é que, se você não sabe por que ela existe, ainda não está qualificado a removê-la. Descubra a razão primeiro, e então remova, se a razão tiver desaparecido.
Em software isso é a linha misteriosa de configuração, a verificação que parece redundante, a espera no meio de uma rotina de inicialização. Alguém colocou aquilo ali, provavelmente às três da manhã, provavelmente depois de um incidente. Parece ruído porque o incidente que aquilo previne não acontece desde que foi acrescentado, que é exatamente a aparência de uma correção que funciona vista de fora.
O princípio tem um contrapeso real, e enunciar só a primeira metade o transforma num argumento para nunca mudar nada. Às vezes a cerca foi construída por uma razão que já não existe, às vezes ninguém lembra e ninguém consegue descobrir, e uma base de código que nunca remove nada acumula até não poder mais ser raciocinada. A disciplina é investigação proporcional: gaste esforço para achar a razão na proporção do que a cerca custa e do que removê-la arrisca.
Também conhecido como: Chesterton's gate
Fontes
- Chesterton, 'The Thing' (1929)