Ir para o conteúdo principal
Background Image

Três exemplos de "Não é bug, é feature!"

··3 minutos·
Rafael Issao
Autor
Rafael Issao
Apaixonado por tecnologia, programação e inovação. Adoro compartilhar conhecimento e aprender coisas novas todos os dias.
Tabela de conteúdos

Sim, queremos evitar que bugs cheguem em produção.

Mas existem alguns “bugs” que viraram features famosas mundialmente.

Neste artigo, vou compartilhar rapidamente três features que são essenciais hoje em dia.

Linux e dotfiles
#

Quando mexemos com o terminal do macos ou linux, um dos comandos que aprendemos a utilizar é o:

ls -l

O comando acima lista os arquivos e diretórios do local que você está:

Exemplo de ls -l

Mas quando configuramos certas ferramentas, descobrimos que existem arquivos escondidos que o comando não lista. Estes arquivos sempre começam com o ‘ponto’ no nome do arquivo e para listá-los, precisamos utilizar o comando ls -la:

Exemplo de ls -la

Já imaginou por que estes arquivos que começam com o ‘ponto’ não aparecem por padrão?

A intenção dos desenvolvedores era de facilitar a navegação criando dois tipos de arquivos especiais:

  • . - Um ponto que representa o diretório atual
  • .. - Dois pontos seguidos que representa o diretório pai

Com estes dois arquivos especiais, o comando para mudar para diretório pai fica mais simples:

cd ..

Só que os desenvolvedores não queriam listar estes dois arquivos (que eram atalhos) para não confundir o usuário. Então criaram uma lógica que, se o arquivo começa com um ponto, ele não aparece na listagem.

E então surgiu a ideia dos arquivos escondidos ou dotfiles que muitas ferramentas utilizam para, por exemplo, configurar seu ambiente.

🔗📚 Referência: How dotfiles became hidden files

O famoso Ctrl + Alt + Del
#

Não foi exatamente um bug, mas era um easter egg que foi descoberto e ficou famoso mundialmente.

No passado, quando um software ou hardware desenvolvido era testado, era preciso desligar o computador e ligar novamente para reiniciar o sistema todo.

Para agilizar os testes e facilitar o processo de desenvolvimento, criaram este atalho Ctrl + Alt + Del para simplesmente reiniciar o sistema ou fechar o programa desejado.

Essa “feature” que era para ser só de desenvolvimento, foi descoberto e amplamente utilizado até hoje.

🔗📚 Referências

Street Fighter 2 e Combos
#

Street Fighter 2 é um jogo que ficou mundialmente famoso. Mas este jogo também tinha bugs. Mas um bug virou uma feature que não falta em nenhum jogo de luta hoje em dia.

Para explicar o bug, precisamos entender sobre leniência:

Em jogos de luta, a leniência (ou “leniency”) refere-se a uma mecânica que permite certa flexibilidade em relação à execução de comandos dos jogadores. Isso significa que o jogo pode reconhecer entradas de maneira mais “permissiva”, permitindo que movimentos sejam realizados mesmo que não sejam executados com precisão milimétrica.

Ou seja, se eu executar o comando de um golpe especial em um certo intervalo de tempo, o jogo considera como válido.

Esta propriedade causou um bug inesperado no jogo: Era possível cancelar a animação, por exemplo do soco forte, para realizar comandos especiais como Hadouken:

Famoso Hadouken

Então surgiu a ideia de combos nos jogos de luta.

Este bug foi encontrado ainda dentro da equipe de desenvolvimento e que, depois de muitas conversas, deixaram o “bug” no jogo pois acharam o jogo mais divertido.

🔗📚 Referência: How One Glitch Changed Fighting Games Forever - Rise Of The Combo

Conclusão
#

Por favor, a maioria dos bugs devem ser resolvidos e a chance de ser feature é mínima.

Mas…

Será que não tem um bug no sistema onde o usuário final utiliza bastante e que você não sabe?

Conhece feature que se originou de um bug?

Comenta e compartilha aqui!

🥒🥒 Até o próximo artigo! 🥒🥒