Engenharia de software é uma religião de siglas. DRY isso. KISS aquilo. YAGNI em todo lugar. Saber o que elas realmente significam separa juniores de seniores.
Como Jogar: Cada pergunta mostra uma sigla de programação ou CC. Escolha o significado entre 4 alternativas. 10 aleatórias por rodada.
Resultado
Top 13 Acrônimos de Programação
A engenharia de software tem mais acrônimos de 4 letras do que qualquer outra disciplina. Eles codificam princípios de design, padrões arquiteturais e práticas de equipe. Os termos são jogados em revisões de código, entrevistas de design de sistemas e reuniões diárias — muitas vezes sem que ninguém os desdobre completamente.
| # | Acrônimo | Significado |
|---|---|---|
| 1 | DRY | Don't Repeat Yourself |
| 2 | KISS | Keep It Simple, Stupid |
| 3 | YAGNI | You Aren't Gonna Need It |
| 4 | CRUD | Create, Read, Update, Delete |
| 5 | REST | Representational State Transfer |
| 6 | JSON | JavaScript Object Notation |
| 7 | API | Application Programming Interface |
| 8 | SQL | Structured Query Language |
| 9 | HTTP | Hypertext Transfer Protocol |
| 10 | OOP | Object-Oriented Programming |
| 11 | MVC | Model View Controller |
| 12 | CI/CD | Continuous Integration / Continuous Deployment |
| 13 | MVP | Minimum Viable Product |
Por que a Programação Ama Acrônimos
Acrônimos de programação são compressão densa de princípios de design. DRY (Don’t Repeat Yourself) significa que código duplicado cria fardo de manutenção — cada duplicata deve ser atualizada quando os requisitos mudam. O princípio foi nomeado por Andrew Hunt e David Thomas em The Pragmatic Programmer (1999).
KISS (Keep It Simple, Stupid) originou-se na Lockheed Skunk Works nos anos 1960. O engenheiro aeroespacial Kelly Johnson o cunhou como regra de design para aeronaves de combate — componentes deveriam ser simples o suficiente para que um mecânico médio pudesse repará-los em campo com ferramentas básicas. Transferiu-se facilmente para o design de software.
YAGNI (You Aren’t Gonna Need It) é a regra anti-design especulativo da Extreme Programming (XP, 1999). Não construa funcionalidades para necessidades futuras hipotéticas. Quase todas essas funcionalidades ou são cortadas, ou reescritas, ou tornam-se dívida técnica.
SOLID é um pacote de 5 princípios para design orientado a objetos cunhado por Robert C. Martin: Responsabilidade única, Aberto-fechado, Substituição de Liskov, Segregação de interface, Inversão de dependência. Cada letra é um princípio separado. Código SOLID tende a ser mais fácil de testar, estender e refatorar.
REST (Representational State Transfer) foi a dissertação de doutorado de Roy Fielding em 2000. Descreve uma arquitetura sem estado, orientada a recursos para serviços web. APIs modernas são majoritariamente REST — usando verbos HTTP (GET, POST, PUT, DELETE) e URLs como recursos. CRUD (Create, Read, Update, Delete) descreve as quatro operações básicas de banco de dados que APIs REST tipicamente suportam.
Perguntas Frequentes
O que DRY significa em programação?
Don’t Repeat Yourself. Cunhado por Hunt e Thomas em The Pragmatic Programmer (1999). Cada pedaço de conhecimento deve ter uma representação única e inequívoca no seu código.
Onde KISS se originou?
Lockheed Skunk Works (aeroespacial dos anos 1960), cunhado pelo engenheiro Kelly Johnson. Originalmente um princípio de design para aeronaves de combate, depois emprestado pela engenharia de software.
Por que REST é tão popular?
APIs REST usam verbos HTTP e requisições sem estado, tornando-as fáceis de cachear, escalar e depurar. A tese de 2000 de Roy Fielding formalizou a arquitetura; é agora o estilo dominante de API na web.
Qual é a diferença entre REST e CRUD?
CRUD descreve quatro operações de banco de dados (Create, Read, Update, Delete). REST é um estilo arquitetural para APIs que frequentemente mapeia verbos HTTP para operações CRUD (POST → Create, GET → Read, PUT/PATCH → Update, DELETE → Delete).
MVP é sobre software ou produto?
Ambos. MVP (Minimum Viable Product) foi popularizado por Eric Ries em The Lean Startup (2011). Refere-se a construir a menor versão de um produto que entrega valor ao usuário, e então iterar com base em feedback.
Nota: Definições de acrônimos conforme referências padrão de engenharia de software incluindo Hunt & Thomas, Martin Fowler, Robert C. Martin.