---
title: "Boat anchor (metáfora)"
type: "antipattern"
slug: "boat-anchor"
url: "http://localhost:3000/pt-br/antipatterns/boat-anchor.md"
description: "Metáfora para equipamentos obsoletos"
---
# Boat anchor (metáfora)

> Metáfora para equipamentos obsoletos

No [radioamadorismo](https://en.wikipedia.org/wiki/Amateur%5Fradio "Amateur radio") e na [computação](https://en.wikipedia.org/wiki/Computing "Computing"), um **boat anchor** ou **boatanchor** (âncora de barco) é algo obsoleto, inútil e desajeitado – assim chamado porque, metaforicamente, seu único uso produtivo é ser jogado na água como [poita](https://en.wikipedia.org/wiki/Mooring%5F%28watercraft%29 "Mooring (watercraft)") de um barco. Termos como **[tijolo](https://en.wikipedia.org/wiki/Brick%5F%28electronics%29 "Brick (electronics)")**, **trava-porta** e **peso de papel** são similares.

## Radioamadorismo

No [radioamadorismo](https://en.wikipedia.org/wiki/Amateur%5Fradio "Amateur radio"), um _boat anchor_ ou _boatanchor_ é um equipamento de [rádio](https://en.wikipedia.org/wiki/Radio "Radio") antigo. Geralmente é usado em referência a equipamentos de rádio grandes e pesados de décadas passadas que usavam válvulas. Nesse contexto, os _boat anchors_ costumam ser valorizados por seus donos, e seus pontos fortes (por exemplo, a imunidade a [EMP](https://en.wikipedia.org/wiki/Nuclear%5Felectromagnetic%5Fpulse "Nuclear electromagnetic pulse")) são enfatizados, mesmo que equipamentos mais novos sejam mais capazes.

Um uso inicial do termo apareceu em uma edição de 1956 da revista _[CQ Amateur Radio](https://en.wikipedia.org/wiki/CQ%5FAmateur%5FRadio "CQ Amateur Radio") Magazine_. A revista publicou a carta de um leitor que procurava "esquemas ou dados de conversão" para um [Wireless Set No. 19](https://en.wikipedia.org/wiki/Wireless%5FSet%5FNo.%5F19 "Wireless Set No. 19") MK II [transceptor](https://en.wikipedia.org/wiki/Transceiver "Transceiver") excedente de guerra, a fim de modificá-lo para uso nas faixas de radioamador. O editor acrescentou esta resposta:

> "A única conversão que parecemos ter nos arquivos aqui da CQ exige 100 pés de corda de Manila de 1 polegada, cuja ponta deve ser amarrada firmemente em torno do MK II Transceiver. Isso converte a unidade em uma ótima âncora para um barco pequeno. Se algum leitor tiver conversões melhores, ficaremos felizes em saber delas. — Ed."

— [CQ: The Radio Amateurs' Journal](https://en.wikipedia.org/wiki/CQ:%5FThe%5FRadio%5FAmateurs%27%5FJournal "CQ: The Radio Amateurs' Journal"), outubro de 1956

O uso do termo pelo editor gerou algum interesse dos leitores e, em fevereiro de 1957, a CQ publicou uma matéria de acompanhamento que incluía fotos.

## Computadores

A metáfora se transfere diretamente dos rádios antigos para os computadores antigos. Ela também foi estendida para se referir a software obsoleto.

### Hardware

Os primeiros [computadores](https://en.wikipedia.org/wiki/Computing "Computing") eram dispositivos fisicamente grandes e pesados. À medida que os computadores se tornaram mais compactos, o termo _boat anchor_ tornou-se popular entre os usuários para indicar que os equipamentos de computador mais antigos e maiores eram obsoletos e não mais úteis.

### Software

O termo _boat anchor_ foi estendido para o [código](https://en.wikipedia.org/wiki/Source%5Fcode "Source code") de [software](https://en.wikipedia.org/wiki/Software "Software") que é deixado na [base de código](https://en.wikipedia.org/wiki/Codebase "Codebase") de um sistema, normalmente para o caso de ser necessário mais tarde. Isso é um exemplo de [antipadrão](https://en.wikipedia.org/wiki/Anti-pattern "Anti-pattern") e, portanto, pode causar muitos problemas para quem tenta manter o [programa](https://en.wikipedia.org/wiki/Computer%5Fprogram "Computer program") que contém o código obsoleto. O problema principal vem do fato de que os programadores terão dificuldade em diferenciar entre código obsoleto, que não faz nada, e código funcional, que faz.

Por exemplo, um programador pode estar investigando um bug no sistema de tratamento de entrada do programa, então ele vasculha o código em busca de código que se conecta à [API](https://en.wikipedia.org/wiki/API "API") de tratamento de entrada. Obviamente, se o programador se deparar com código de tratamento de entrada obsoleto, ele pode muito bem começar a editá-lo e depurá-lo, desperdiçando um tempo valioso antes de perceber que o código com o qual está trabalhando nunca é executado e, portanto, não faz parte do problema que ele está tentando resolver. Outros problemas incluem tempos de compilação mais longos e o risco de os programadores acidentalmente conectarem código funcional ao código defunto, ressuscitando-o sem querer.

Uma solução recomendada para lidar com boat anchors no código-fonte é removê-los da base de código e colocá-los em um local separado, para que possam ser consultados se necessário, mas não sejam compilados nem confundidos com código "funcional". (Por exemplo, excluí-los, sabendo que estão armazenados no [controle de versão](https://en.wikipedia.org/wiki/Source%5Fcontrol "Source control") do projeto)
