Desenvolvimento de Software
Os termos que aparecem todo dia em código, revisões e reuniões de produto.
Por linguagem
- JavaJVM, tipos, concorrência e o ecossistema de quem constrói sistemas corporativos.150 termos
- C#.NET, LINQ, programação assíncrona e os recursos modernos da linguagem.150 termos
- CPonteiros, memória manual e o que acontece perto do hardware.150 termos
- C++RAII, templates, semântica de movimento e controle fino de desempenho.150 termos
- PythonGeradores, decorators, tipagem gradual e o jeito pythônico de escrever.150 termos
- JavaScriptEvent loop, closures, promises e as armadilhas clássicas da linguagem.150 termos
- TypeScriptO sistema de tipos a fundo: generics, narrowing e tipos condicionais.150 termos
- GoGoroutines, channels, interfaces implícitas e a simplicidade idiomática.150 termos
- RustOwnership, borrow checker, lifetimes e segurança de memória sem coletor.150 termos
- RubyBlocos, metaprogramação, gems e o ecossistema em torno do Rails.150 termos
Termos do dia a dia
A
- A/B testExperimento que mostra duas versões de uma página ou recurso a grupos diferentes de usuários, para medir…
- acoplamentoGrau de dependência entre partes do código: quanto mais acopladas, mais uma mudança em uma delas afeta as…
- alert fatigueCansaço de quem recebe alertas demais, muitos sem importância, e passa a ignorá-los, correndo o risco de…
- analysis paralysisSituação em que o excesso de análise e de opções impede o time de decidir ou de começar, atrasando a entrega.
- APIConjunto de regras e pontos de acesso pelo qual um programa pede dados ou ações a outro, sem conhecer seu…
- API gatewayComponente que fica na frente dos serviços e recebe todas as chamadas, cuidando de roteamento, autenticação…
- API keyCódigo secreto que identifica o aplicativo ou o cliente que chama uma API, usado para autorizar o acesso e…
- API versioningPrática de publicar mudanças de uma API em versões numeradas, como v1 e v2, para que quem já integrou…
- arquitetura em camadasOrganização do sistema em camadas empilhadas, como apresentação, regras de negócio e dados, em que cada uma…
- assertionAfirmação num teste que declara o resultado esperado; se a condição não for verdadeira, o teste falha.
- autenticaçãoProcesso de confirmar quem é o usuário ou o sistema que tenta acessar, por exemplo com senha, código ou…
- autorizaçãoDefinição do que um usuário ou sistema já identificado pode ver ou fazer, com base em papéis, permissões e…
- autoscalingAjuste automático da quantidade de recursos, como instâncias ou containers, conforme a demanda, aumentando…
B
- backendParte do sistema que roda no servidor, cuidando de regras de negócio, banco de dados e APIs, longe da vista…
- backlogLista priorizada de tudo o que ainda precisa ser feito em um produto, como funcionalidades, correções e…
- backportLevar uma correção ou funcionalidade feita numa versão nova para uma versão anterior que ainda tem suporte.
- backpressureMecanismo pelo qual um consumidor lento sinaliza ao produtor que diminua o ritmo, evitando que filas e…
- BDDPrática que descreve o comportamento esperado do sistema em linguagem natural, em cenários que viram testes…
- BFFBackend for frontend: serviço de back-end feito sob medida para um tipo de cliente, como o app móvel ou o…
- bikesheddingGastar tempo demais discutindo detalhes triviais, que todo mundo entende, e pouco tempo nos assuntos…
- bit rotDeterioração gradual de um software que não é mantido, porque o ambiente, as dependências e as integrações…
- blockerImpedimento que não deixa uma tarefa ou a pessoa avançar até ser resolvido, como falta de acesso, de decisão…
- blue-green deploymentEstratégia com dois ambientes de produção idênticos, um ativo e outro com a nova versão, trocando o tráfego…
- boilerplateTrecho de código repetitivo e padronizado, escrito em muitos lugares com poucas variações e sem lógica de…
- bounded contextConceito do Domain-Driven Design: fronteira dentro da qual um modelo e a sua linguagem têm um significado…
- boy scout rulePrincípio de deixar o código um pouco mais limpo do que você o encontrou, fazendo pequenas melhorias sempre…
- branchLinha independente de desenvolvimento dentro de um repositório, que permite alterar o código sem afetar a…
- breaking changeMudança que quebra a compatibilidade com o que já existe, obrigando quem usa a versão antiga a ajustar o…
- breakpointPonto marcado no código onde o depurador pausa a execução, para que o programador inspecione variáveis e…
- Brooks's lawObservação de que adicionar pessoas a um projeto de software já atrasado tende a atrasá-lo ainda mais.
- brownfieldProjeto em que se trabalha sobre um sistema já existente, com código legado, dados e usuários que precisam…
- brute forceAtaque que tenta muitas combinações de senhas ou chaves, uma após a outra, até acertar; a defesa é limitar…
- bugDefeito no código que faz o programa se comportar de forma diferente do esperado, gerando erro, resultado…
- bug reportRelato de um defeito do software, com o que aconteceu, o que era esperado, os passos para reproduzir e o…
- buildProcesso que transforma o código-fonte em algo executável ou publicável, compilando, empacotando e rodando…
- bundleArquivo final, gerado por uma ferramenta de build, que reúne e otimiza o código JavaScript e outros recursos…
- burndownGráfico que mostra o trabalho restante em uma sprint ou projeto ao longo do tempo, que deveria descer até…
- bus factorNúmero de pessoas do time que, se sumissem de repente, paralisariam o projeto por concentrarem conhecimento…
C
- cache invalidationProcesso de decidir quando um dado guardado em cache deixou de ser válido e precisa ser removido ou…
- callback hellCódigo com callbacks aninhados em vários níveis, que forma uma pirâmide difícil de ler, de tratar erros e de…
- canary releaseLiberar a nova versão primeiro para uma pequena parcela de usuários ou servidores, observar o resultado e só…
- cargo cult programmingCopiar trechos de código ou práticas sem entender por que funcionam, repetindo o ritual na esperança de que…
- caso de usoDescrição de como um usuário ou outro sistema interage com o software para atingir um objetivo, com o fluxo…
- changelogArquivo ou lista que registra, versão por versão, as mudanças feitas em um projeto: novidades, correções e…
- chaos engineeringPrática de provocar falhas controladas em um sistema, como derrubar instâncias, para verificar se ele…
- characterization testTeste que registra o comportamento atual de um código legado, certo ou errado, para permitir refatorá-lo com…
- checkoutComando do Git que troca o branch ou a versão em que você trabalha, atualizando os arquivos da pasta para…
- cherry-pickCopiar para a branch atual apenas um commit específico de outra branch, sem trazer o resto do histórico.
- churnTaxa de clientes ou usuários que cancelam ou deixam de usar o produto em um período; indica quanto da base…
- CI/CDPrática de integrar código com frequência e testá-lo automaticamente (CI) e de entregá-lo ou publicá-lo…
- circuit breakerPadrão que interrompe as chamadas a um serviço que está falhando, devolvendo erro rápido, para evitar…
- clean codeCódigo simples, legível e fácil de alterar, com nomes claros e funções pequenas; também é o título do livro…
- cloneCopiar um repositório remoto inteiro, com todo o histórico, para a sua máquina, para poder trabalhar nele…
- cobertura de testesPercentual do código executado pelos testes automatizados, usado como indicador de quanto do sistema está…
- code freezePeríodo em que não se aceitam novas alterações de código, para estabilizar e testar uma versão antes do…
- code reviewRevisão do código de uma pessoa por outra do time antes de ele entrar na base, para achar erros e manter a…
- code smellSinal no código, como função enorme ou duplicação, que não é bug, mas indica problema de design e pede…
- código espagueteCódigo com fluxo emaranhado, cheio de desvios e dependências cruzadas, tão difícil de seguir quanto um prato…
- código legadoCódigo antigo que continua em produção e precisa de manutenção, em geral difícil de entender e sem testes ou…
- coesãoMedida de quão bem as responsabilidades dentro de um módulo ou classe pertencem ao mesmo propósito.
- commitRegistro de um conjunto de alterações no histórico do controle de versão, como o Git, acompanhado de uma…
- configuration driftDivergência gradual entre ambientes, ou entre o ambiente real e a configuração desejada, causada por…
- consistência eventualGarantia de que, se ninguém alterar um dado, todas as réplicas acabarão com o mesmo valor, embora possam…
- containerPacote isolado que reúne uma aplicação e tudo de que ela precisa para rodar, como bibliotecas e…
- context switchingPerda de foco e de tempo ao alternar entre tarefas diferentes, porque a pessoa precisa recarregar na cabeça…
- contract testTeste que verifica se um serviço consumidor e um provedor concordam com o formato das mensagens trocadas…
- conventional commitsConvenção para escrever mensagens de commit com um tipo e uma descrição curta, como 'fix: corrige o frete'…
- Conway's lawObservação de que a arquitetura de um sistema tende a refletir a estrutura de comunicação da organização que…
- correlation IDIdentificador único anexado a uma requisição e repassado a todos os serviços por onde ela passa, para juntar…
- CORSMecanismo de segurança dos navegadores que define quais sites podem fazer requisições a uma API de outra…
- CQRSPadrão que separa o modelo de escrita (comandos) do modelo de leitura (consultas), permitindo otimizar e…
- critérios de aceiteLista de condições que uma entrega precisa cumprir para ser considerada correta e aceita por quem a pediu.
- CRUDConjunto das quatro operações básicas sobre dados: criar, ler, atualizar e apagar (create, read, update…
- CSRFAtaque que faz o navegador de um usuário já autenticado enviar, sem que ele perceba, uma requisição…
- CVEIdentificador público de uma vulnerabilidade de segurança conhecida, no formato CVE-ano-número, usado para…
D
- dailyReunião rápida, geralmente diária, em que o time compartilha o que fez, o que fará e o que o está bloqueando.
- dark launchPublicar uma funcionalidade em produção sem que os usuários a vejam, para testar o comportamento com tráfego…
- dashboardPainel visual que reúne gráficos e números sobre o estado de um sistema ou do negócio, como erros por…
- dead codeCódigo que continua no projeto, mas nunca é executado ou deixou de ser usado por qualquer outra parte.
- dead letter queueFila separada para onde vão as mensagens que não puderam ser processadas após várias tentativas, para…
- death marchProjeto com prazo e escopo tão irreais que o time trabalha sob pressão extrema e em jornadas longas, com…
- debounceTécnica que adia a execução de uma função até passar um tempo sem novas chamadas, evitando disparos…
- debugarInvestigar um programa passo a passo para descobrir por que ele não funciona como deveria e encontrar a…
- debuggerFerramenta que executa o programa de forma controlada, permitindo pausar, avançar passo a passo e…
- definition of doneLista de requisitos que qualquer item deve cumprir para ser considerado concluído, como testes passando…
- dependency hellSituação em que as dependências de um projeto exigem versões incompatíveis entre si, tornando difícil…
- deployAto de publicar uma versão do software em um ambiente, como teste ou produção, para que ela passe a rodar e…
- deprecationAviso de que um recurso, função ou API está obsoleto e será removido no futuro, e de que quem o usa deve…
- design docDocumento curto em que o autor descreve o problema, a solução proposta e as alternativas descartadas, para o…
- design patternSolução reutilizável e nomeada para um problema comum de projeto de software, como Singleton, Observer ou…
- detached HEADEstado do Git em que o HEAD aponta direto para um commit, e não para um branch, de modo que novos commits…
- DevOpsCultura e conjunto de práticas que aproxima desenvolvimento e operações, automatizando build, teste…
- diffComparação linha a linha entre duas versões de um arquivo ou commit, mostrando o que foi adicionado…
- disaster recoveryConjunto de planos e recursos para restaurar sistemas e dados depois de um desastre grave, como a perda de…
- distributed tracingTécnica que acompanha uma requisição por todos os serviços que ela atravessa, registrando o tempo de cada…
- dogfoodingPrática de a própria equipe usar o produto que desenvolve no dia a dia, para descobrir problemas antes dos…
- downtimePeríodo em que um sistema ou serviço fica indisponível para os usuários, por falha ou por manutenção.
- DRYPrincípio de não repetir a mesma lógica ou conhecimento em vários lugares, para que uma mudança precise ser…
- DTOObjeto simples, só com dados e sem regras de negócio, usado para transportar informações entre camadas ou…
E
- edge caseSituação rara ou extrema, nos limites do uso esperado, que o código pode acabar tratando mal.
- efeito colateralMudança que uma função causa fora de seu resultado, como alterar uma variável externa, gravar em banco ou…
- end-to-end testTeste automatizado que percorre um fluxo completo do sistema, como um usuário real faria, da interface até o…
- endpointEndereço específico de uma API, formado por caminho e método, que recebe requisições e devolve uma resposta.
- epicItem grande do backlog que reúne várias histórias relacionadas e é dividido em partes menores antes de ser…
- error budgetQuantidade de falhas ou indisponibilidade tolerada em um período, calculada a partir do SLO; enquanto sobra…
- escalabilidadeCapacidade de um sistema de lidar com mais carga, usuários ou dados, ao acrescentar recursos, sem perder…
- event sourcingPadrão em que o estado do sistema não é guardado diretamente: registra-se a sequência de eventos que o…
- event-driven architectureEstilo de arquitetura em que os componentes se comunicam publicando e reagindo a eventos, em vez de se…
- exploratory testingForma de testar em que a pessoa explora o sistema sem roteiro fixo, aprendendo e criando testes ao mesmo…
- exponential backoffEstratégia de retry em que a espera entre as tentativas dobra a cada falha, dando tempo para o serviço se…
F
- fallbackAlternativa usada automaticamente quando o caminho principal falha, como um valor padrão, um serviço reserva…
- fast-forwardTipo de merge em que o branch de destino não tem commits novos, então o Git apenas move o ponteiro para…
- feature branchBranch criado para desenvolver uma funcionalidade de forma isolada, que depois é integrada à branch…
- feature flagChave de configuração que liga ou desliga uma funcionalidade sem novo deploy, permitindo liberar aos poucos…
- feature requestPedido de uma funcionalidade nova ou de uma melhoria, feito por cliente, usuário ou colega, que entra no…
- firefightingModo de trabalho em que o time vive apagando incêndios, ou seja, resolvendo urgências e falhas, sem tempo…
- fixtureConjunto de dados ou estado preparado antes de um teste, como registros no banco ou arquivos, para garantir…
- flaky testTeste automatizado que às vezes passa e às vezes falha sem qualquer mudança no código, tornando o resultado…
- flame graphGráfico de profiling que empilha as chamadas de função, com largura proporcional ao tempo gasto, e mostra de…
- footgunRecurso ou ferramenta cujo design facilita muito o erro e acaba 'dando um tiro no próprio pé' de quem a usa.
- force pushEnviar commits ao repositório remoto sobrescrevendo o histórico que lá existe, com git push --force…
- forkCópia de um repositório de outra pessoa ou organização para a sua conta, onde você altera à vontade sem…
- frameworkEstrutura pronta de código que define a organização básica de um projeto e traz soluções comuns, e que o…
- frontendParte do sistema que o usuário vê e usa, como telas, botões e formulários, rodando no navegador ou no…
- função puraFunção que, para as mesmas entradas, sempre devolve o mesmo resultado e não causa efeitos colaterais fora de…
- fuzzingTécnica que alimenta um programa com grandes volumes de entradas aleatórias ou malformadas para provocar…
G
- gambiarraSolução improvisada e pouco elegante, feita para resolver o problema na hora, mas que o time sabe que não é…
- GitSistema de controle de versão distribuído que guarda o histórico do código e permite que várias pessoas…
- git bisectComando que usa busca binária no histórico de commits para descobrir qual mudança introduziu um bug.
- git blameComando do Git que mostra, linha a linha de um arquivo, quem alterou por último e em qual commit, para…
- git reflogComando que mostra o histórico local de para onde o HEAD e as branches apontaram, útil para recuperar…
- gitflowModelo de ramificação do Git com branches fixas, como main, develop, feature, release e hotfix, para…
- gitignoreArquivo que lista padrões de arquivos e pastas que o Git deve ignorar, como dependências baixadas, logs…
- GitOpsPrática de usar um repositório Git como fonte da verdade da infraestrutura e das aplicações; uma ferramenta…
- go-liveMomento em que um sistema ou funcionalidade começa a funcionar de verdade para os usuários, depois de pronto…
- god objectClasse ou módulo que sabe e faz coisas demais, concentrando muitas responsabilidades e ficando ligado a…
- golden hammerVício de usar a tecnologia ou a solução que se conhece melhor em todo problema, mesmo quando outra seria…
- golden signalsQuatro métricas essenciais para monitorar um serviço, latência, tráfego, erros e saturação, usadas como…
- Goodhart's lawPrincípio segundo o qual, quando uma métrica vira meta, ela deixa de ser uma boa medida, porque as pessoas…
- graceful shutdownDesligamento em que o serviço para de aceitar novos pedidos, termina os que estão em andamento e só então…
- GraphQLLinguagem de consulta para APIs em que o cliente descreve exatamente os campos que quer receber, em um único…
- greenfieldProjeto novo, começado do zero, sem código legado nem restrições herdadas de sistemas anteriores.
H
- hackathonMaratona de programação, de horas ou dias, em que equipes criam protótipos ou soluções para um desafio…
- happy pathFluxo ideal de uso, em que tudo dá certo: a pessoa informa dados válidos e nenhum erro acontece.
- hardcodedDiz-se de valor escrito direto no código, como uma URL, senha ou limite, em vez de vir de configuração ou…
- health checkVerificação automática, geralmente numa rota simples, que informa se um serviço está vivo e apto a receber…
- heisenbugBug que some ou muda de comportamento quando se tenta observá-lo, por exemplo ao ligar o debugger ou ao…
- hexagonal architectureArquitetura que isola a lógica de negócio no centro e a liga ao mundo externo por portas e adaptadores…
- homologaçãoEtapa em que uma versão é validada em um ambiente próximo ao real, por QA ou pelo cliente, antes de ir para…
- hot pathTrecho do código executado com muita frequência, onde pequenos ganhos de desempenho têm grande impacto no…
- hot reloadRecurso do ambiente de desenvolvimento que atualiza a aplicação em execução assim que o código é salvo, sem…
- hotfixCorreção urgente de um bug grave em produção, feita e publicada rapidamente, fora do ciclo normal de releases.
- hydrationEtapa em que o JavaScript no navegador assume um HTML já gerado pelo servidor e o torna interativo…
- Hyrum's lawObservação de que, com usuários suficientes de uma API, qualquer comportamento observável dela será usado…
I
- IDEPrograma que reúne editor de código, depurador, execução e outras ferramentas em um só lugar, para facilitar…
- idempotency keyIdentificador único enviado com uma requisição para que o servidor reconheça repetições e execute a operação…
- idempotenteDiz-se de uma operação que, repetida várias vezes com a mesma entrada, produz o mesmo efeito de uma única…
- immutable infrastructureAbordagem em que servidores ou containers nunca são alterados depois de criados: para mudar algo…
- imutabilidadePropriedade de dados que, depois de criados, não podem ser alterados; qualquer mudança gera um novo valor em…
- incident commanderPessoa que coordena a resposta a um incidente grave: distribui tarefas, decide prioridades e cuida da…
- infrastructure as codePrática de definir e criar servidores, redes e serviços de nuvem por meio de arquivos de código versionados…
- injeção de dependênciaTécnica em que um objeto recebe de fora as dependências de que precisa, em vez de criá-las por conta própria.
- input validationVerificação de que os dados recebidos de usuários ou de outros sistemas têm o formato, o tamanho e o…
- integration testTeste automatizado que verifica se várias partes do sistema, como serviço, banco de dados e API, funcionam…
- issueItem registrado em um repositório ou gerenciador de projetos para descrever um bug, uma tarefa ou uma ideia…
J
- JSONFormato de texto leve para trocar dados estruturados, com pares de chave e valor e listas, legível por…
- JWTToken compacto e assinado que carrega informações sobre o usuário, usado para provar a identidade em…
K
- kanbanMétodo visual de gestão do trabalho com um quadro de colunas, como a fazer, fazendo e feito, que limita o…
- kickoffReunião de início de um projeto ou ciclo, que alinha objetivos, escopo, papéis, prazos e riscos entre as…
- KISSPrincípio de manter a solução o mais simples possível, evitando complexidade que o problema não exige.
- KPIIndicador-chave de desempenho: métrica escolhida para acompanhar se um produto, área ou projeto está…
- KubernetesPlataforma de código aberto que orquestra containers: distribui, escala, reinicia e atualiza aplicações em…
L
- lazy loadingTécnica que adia o carregamento de recursos, como imagens ou partes do código, até o momento em que…
- least privilegePrincípio de segurança de dar a cada pessoa, serviço ou processo apenas as permissões mínimas necessárias…
- legibilidadeFacilidade com que outras pessoas entendem o código ao lê-lo, graças a bons nomes, estrutura simples e…
- LGTMSigla de looks good to me, 'para mim está bom': comentário de quem revisou um PR e não vê problemas.
- linterFerramenta que analisa o código sem executá-lo e aponta erros prováveis, más práticas e desvios de estilo.
- live codingEscrever código ao vivo diante de outras pessoas, em entrevista técnica, apresentação ou transmissão…
- load testTeste que simula muitos usuários ou requisições simultâneas para medir como o sistema se comporta sob uma…
- logRegistro de eventos, mensagens e erros que o sistema grava enquanto roda, usado para acompanhar o que…
- log levelCategoria de importância de uma mensagem de log, como debug, info, warning e error, usada para filtrar o que…
M
- magic numberNúmero solto no código, sem nome nem explicação, cujo significado ninguém entende só de olhar.
- manutenibilidadeFacilidade com que um software pode ser entendido, corrigido, adaptado e evoluído ao longo do tempo…
- mergeCombinar as alterações de uma branch em outra, unificando o trabalho, geralmente depois de um pull request…
- merge conflictSituação em que duas branches alteraram o mesmo trecho e o Git não consegue decidir sozinho qual versão…
- message queueEstrutura que guarda mensagens enviadas por um sistema até que outro as consuma, permitindo uma comunicação…
- MFAAutenticação em múltiplos fatores: exige duas ou mais provas de identidade, como senha, código no celular ou…
- microsserviçoServiço pequeno e independente, responsável por uma função de negócio, que se comunica com outros por rede e…
- middlewareCamada de código entre a requisição e a lógica principal, que executa tarefas comuns como autenticação, log…
- migrationScript versionado que altera a estrutura do banco de dados, como criar tabelas e colunas, para acompanhar a…
- mockObjeto falso que simula uma dependência real em um teste e costuma verificar se foi chamado do jeito esperado.
- modular monolithAplicação única, implantada em conjunto, mas organizada em módulos bem isolados e com fronteiras claras, o…
- monitoramentoAcompanhamento contínuo da saúde de um sistema por meio de métricas, logs e alertas, para detectar falhas e…
- monkey patchAlterar ou substituir em tempo de execução o comportamento de uma classe, módulo ou função existente, sem…
- monolitoAplicação construída como um bloco único, com todas as funções no mesmo código e implantada junta.
- monorepoUm único repositório que reúne o código de vários projetos, serviços ou bibliotecas de uma organização.
- MTTRTempo médio para recuperar o serviço depois de uma falha, contado do início do problema até a normalização…
- mutation testingTécnica que altera o código de propósito, criando pequenos defeitos, para ver se os testes percebem; os que…
- MVPVersão mais enxuta de um produto que já entrega valor real, lançada para validar uma ideia com usuários…
N
- N+1 queryProblema de desempenho em que o código faz uma consulta para listar itens e depois uma consulta extra para…
- nice to haveItem desejável, mas não essencial: pode ficar de fora do escopo atual sem comprometer o objetivo da entrega.
- nitComentário de revisão sobre um detalhe pequeno, como estilo ou nome, que o autor pode ajustar mas que não…
- not invented hereTendência de rejeitar soluções criadas por outros e reconstruir tudo internamente, só por não terem sido…
O
- OAuthProtocolo que permite a um aplicativo acessar dados de um usuário em outro serviço sem receber a senha dele…
- observabilidadeCapacidade de entender o que acontece dentro de um sistema olhando suas saídas, como logs, métricas e traces.
- off-by-oneErro de contagem em que um laço ou índice vai um passo a mais ou a menos do que deveria.
- OKRMétodo de definir metas em que um objetivo qualitativo é acompanhado por resultados-chave mensuráveis…
- on-callEscala em que uma pessoa do time fica de sobreaviso para atender alertas e incidentes fora do horário normal.
- onboardingProcesso de integrar uma pessoa nova ao time ou um usuário novo ao produto, com acessos, documentação…
- open sourceSoftware cujo código-fonte é público e pode ser lido, usado, modificado e distribuído, de acordo com os…
- OpenAPIPadrão para descrever uma API REST em um arquivo, com endpoints, parâmetros e respostas, do qual se geram…
- optimistic lockingControle de concorrência que não bloqueia o registro: cada alteração confere se a versão lida ainda é a…
- ORMBiblioteca que mapeia tabelas do banco em objetos da linguagem, permitindo consultar e gravar dados sem…
- outbox patternPadrão que grava o evento a publicar em uma tabela do próprio banco, na mesma transação da mudança de dados…
- overengineeringConstruir uma solução mais complexa do que o problema exige, com abstrações e recursos que ninguém precisa.
- OWASPFundação sem fins lucrativos dedicada à segurança de aplicações, conhecida pelo OWASP Top 10, lista das…
P
- package managerFerramenta que baixa, instala, atualiza e remove as bibliotecas de que um projeto depende, controlando as…
- paginationDivisão de uma lista grande de resultados em páginas, para que a API ou a tela entregue apenas uma parte por…
- pair programmingPrática em que duas pessoas programam juntas no mesmo problema: uma escreve o código e a outra revisa e…
- payloadConteúdo útil de uma requisição ou resposta: os dados enviados no corpo da mensagem, sem contar cabeçalhos e…
- pentestTeste de intrusão: simulação autorizada de ataque a um sistema, feita por especialistas para descobrir…
- personaPersonagem fictício, baseado em pesquisa, que representa um grupo de usuários com seus objetivos, hábitos e…
- pipelineSequência automatizada de etapas, como build, testes e deploy, que o código percorre desde o commit até o…
- planningReunião em que o time decide o que fará na próxima sprint, escolhendo itens do backlog e discutindo como…
- planning pokerTécnica de estimativa em que cada pessoa escolhe uma carta com o tamanho da tarefa em segredo e todos…
- plenoNível intermediário de senioridade entre júnior e sênior, de quem entrega com autonomia, mas ainda não…
- POCProtótipo rápido feito para provar que uma ideia ou tecnologia é viável, sem preocupação com a qualidade…
- pollingTécnica em que um cliente consulta o servidor repetidamente, em intervalos, para saber se há novidades, em…
- polyfillTrecho de código que adiciona a navegadores antigos um recurso moderno que eles não têm, para a aplicação…
- postmortemRelatório escrito depois de um incidente que conta o que aconteceu, qual foi a causa e o que será feito para…
- premature optimizationOtimizar o código antes de saber se há um problema de desempenho real, o que costuma complicar a solução sem…
- print debuggingTécnica de achar bugs inserindo comandos que imprimem valores e mensagens no console, para observar o que o…
- prodGíria para produção: o ambiente real onde os usuários usam o sistema, em oposição a dev e staging.
- product discoveryEtapa em que o time investiga problemas e necessidades dos usuários e testa ideias antes de construir, para…
- product ownerPessoa responsável por definir o que o time constrói e em qual ordem, representando as necessidades dos…
- profilingMedição de onde um programa gasta tempo e memória durante a execução, feita com uma ferramenta chamada…
- prop drillingPassar dados por vários componentes intermediários, via props, só para chegar a um componente bem mais…
- property-based testingEstilo de teste em que se descreve uma propriedade válida para qualquer entrada e a ferramenta gera centenas…
- PTALSigla de 'please take a look', usada para pedir que alguém revise um pull request, um documento ou uma ideia.
- pub/subModelo de mensageria em que quem publica eventos não conhece quem os recebe: os assinantes recebem as…
- pullComando do Git que busca as alterações do repositório remoto e as incorpora ao branch local, combinando o…
- pull requestPedido para que as alterações de uma branch sejam revisadas e incorporadas a outra, normalmente a principal…
Q
R
- race conditionFalha que ocorre quando o resultado depende da ordem em que processos ou threads concorrentes executam, e…
- rate limitLimite de quantas requisições um cliente pode fazer a uma API em certo período, para proteger o serviço de…
- re-renderNova execução da renderização de um componente, em frameworks como React, quando seus dados mudam…
- read replicaCópia de um banco de dados que recebe as atualizações do original e atende apenas leituras, aliviando a…
- rebaseReaplicar os commits de uma branch sobre outra base, reescrevendo o histórico para ficar linear, como se…
- refatorarReorganizar o código por dentro, melhorando a clareza e a estrutura, sem mudar o comportamento que o usuário…
- refinamentoReunião ou prática em que o time detalha, divide e estima itens do backlog para deixá-los prontos para…
- regexPadrão de texto, escrito em sintaxe própria, usado para buscar, validar ou substituir trechos em textos…
- regra de negócioCondição ou política da empresa que o sistema precisa cumprir, como calcular desconto, definir prazo de…
- regressionBug em algo que já funcionava, causado por uma mudança recente; o software regrediu em relação à versão…
- reinventar a rodaCriar do zero algo que já existe e funciona bem, como uma biblioteca ou solução pronta, gastando tempo sem…
- releaseVersão do software liberada para uso, ou o ato de liberá-la, normalmente com número de versão e notas sobre…
- release candidateVersão quase final de um software, candidata a ser a oficial, que só vira release se nenhum problema grave…
- release notesTexto que acompanha uma versão e resume o que mudou: novidades, correções e mudanças que exigem atenção de…
- repoForma curta de repositório: o lugar onde ficam o código e todo o histórico de alterações de um projeto sob…
- requisiçãoPedido que um cliente, como o navegador ou um app, envia a um servidor ou API, com método, endereço e dados…
- requisito funcionalDescrição de algo que o sistema deve fazer, como permitir o cadastro de clientes ou emitir uma nota fiscal.
- requisito não funcionalExigência sobre como o sistema deve se comportar, como desempenho, segurança, disponibilidade e usabilidade…
- RESTEstilo de arquitetura para APIs web que trata tudo como recursos acessados por URLs e manipulados com…
- retrospectiveReunião do fim de um sprint ou projeto em que o time reflete sobre o que foi bem, o que não foi e o que vai…
- retryNova tentativa automática de uma operação que falhou, geralmente depois de uma pausa, na esperança de que a…
- revertDesfazer um commit criando um novo commit que aplica o efeito oposto, sem apagar o histórico original.
- roadmapPlano de alto nível que mostra o que o produto ou o time pretende entregar nos próximos meses, e por quê.
- rollbackVoltar o sistema, o código ou o banco de dados a uma versão anterior estável depois que uma mudança causou…
- rolling deploymentEstratégia em que a nova versão substitui a antiga aos poucos, instância por instância, mantendo o serviço…
- root causeCausa original de um problema, aquela que, se corrigida, evita que ele volte, e não apenas o sintoma visível.
- rubber duck debuggingTécnica de explicar o código, linha a linha e em voz alta, a um patinho de borracha ou a outra pessoa, para…
- runbookManual passo a passo para operar um sistema ou resolver um problema conhecido, usado principalmente durante…
S
- saga patternPadrão para manter a consistência em operações que passam por vários serviços: cada etapa tem uma ação de…
- sandboxAmbiente isolado e seguro para testar sem afetar sistemas reais, muito usado por APIs de pagamento para…
- SASTAnálise estática de segurança: ferramenta que examina o código-fonte, sem executá-lo, em busca de padrões…
- SBOMLista detalhada de todos os componentes e bibliotecas que compõem um software, com suas versões, usada para…
- schemaDescrição formal da estrutura dos dados, como as tabelas, campos e tipos de um banco ou o formato esperado…
- scope creepCrescimento gradual e sem controle do escopo de um projeto, com novos pedidos entrando sem rever prazo…
- scrumFramework ágil em que o time trabalha em sprints, com papéis e reuniões definidos, para entregar o produto…
- secrets managementPrática de guardar, distribuir e trocar com segurança senhas, tokens e chaves usados pelas aplicações, em um…
- seedDados iniciais carregados no banco para deixá-lo pronto para uso ou teste, como usuários de exemplo e…
- semantic versioningConvenção que numera versões como MAJOR.MINOR.PATCH, em que cada número indica o tipo de mudança: quebra…
- separação de responsabilidadesPrincípio de dividir o sistema em partes, cada uma cuidando de um assunto distinto, como interface, regras…
- serverlessModelo de computação em nuvem em que o provedor cuida dos servidores e escala automaticamente, e você paga…
- service meshCamada de infraestrutura que gerencia a comunicação entre serviços, cuidando de roteamento, criptografia…
- shift leftPrática de levar atividades como testes e segurança para as fases iniciais do desenvolvimento, encontrando…
- ship itExpressão para aprovar e publicar algo: 'pode mandar', 'vamos entregar'. Em code review, indica a aprovação…
- shotgun surgeryMau cheiro de código em que uma única mudança de regra exige alterar muitos arquivos ou classes diferentes…
- silver bulletSolução supostamente perfeita que resolveria sozinha um problema difícil; em software, a promessa de uma…
- SLAAcordo que define o nível de serviço prometido, como disponibilidade mínima e prazo de resposta, e as…
- SLIIndicador de nível de serviço: medida concreta da qualidade entregue, como a proporção de requisições…
- SLOMeta interna de confiabilidade, como 99,9% de requisições bem-sucedidas, usada pela equipe para decidir…
- smoke testTeste rápido e superficial que verifica se as funções mais básicas do sistema funcionam depois de um build…
- snapshot testTeste que guarda uma captura da saída de um componente e compara com ela nas execuções seguintes, falhando…
- soft deleteForma de apagar um registro apenas marcando-o como excluído, geralmente com uma data, em vez de removê-lo de…
- SOLIDConjunto de cinco princípios de design orientado a objetos, como responsabilidade única e aberto-fechado…
- SPAAplicação web que carrega uma única página e atualiza o conteúdo dinamicamente no navegador, sem recarregar…
- spanUnidade de trabalho dentro de um trace: representa uma operação com início, duração e metadados, e se…
- spikeTarefa curta e limitada no tempo para investigar uma dúvida técnica ou de design, cujo resultado é…
- sprintPeríodo fixo e curto, em geral de uma a quatro semanas, no qual o time se compromete a entregar um conjunto…
- SQL injectionAtaque em que o invasor insere comandos SQL num campo de entrada para fazer o banco executar algo que o…
- squashJuntar vários commits em um só, antes ou durante o merge, para manter o histórico enxuto.
- SREEngenharia de confiabilidade: abordagem que aplica práticas de engenharia de software à operação, com metas…
- stack traceLista das chamadas de função que estavam ativas quando um erro ocorreu, mostrando o caminho percorrido até o…
- stagingAmbiente que imita a produção, onde uma versão é validada antes de chegar aos usuários reais.
- stashGuardar temporariamente alterações ainda não commitadas em uma área à parte, deixando a pasta de trabalho…
- status codeNúmero de três dígitos que o servidor devolve numa resposta HTTP para indicar o resultado, como 200 para…
- steps to reproduceLista dos passos exatos que fazem um bug aparecer, escrita no relato do problema para que outra pessoa…
- story pointsUnidade relativa usada para estimar o esforço de um item do backlog, combinando complexidade, incerteza e…
- strangler figEstratégia de migrar um sistema legado aos poucos, substituindo funcionalidades por partes novas atrás de…
- structured loggingPrática de registrar logs em formato estruturado, como JSON com campos nomeados, em vez de texto livre, para…
- stubImplementação mínima e fixa de uma dependência num teste, que devolve respostas prontas sem nenhuma lógica…
- supply chain attackAtaque que compromete um fornecedor ou uma dependência, como uma biblioteca ou ferramenta de build, para…
T
- tagMarcador fixado em um commit específico, geralmente usado para nomear uma versão, como v1.4.0, e voltar a…
- tail latencyTempo de resposta alto sofrido pela pequena fração mais lenta das requisições, medido por percentis como p95…
- TDDPrática de escrever primeiro um teste que falha, depois o código mínimo para passar e por fim refatorar, em…
- tech debtCusto futuro acumulado ao se escolher hoje uma solução rápida e imperfeita, que exigirá retrabalho para ser…
- tech leadPessoa mais experiente do time que guia as decisões técnicas e a qualidade do código, sem deixar de programar.
- test caseDescrição de um cenário de teste, com entradas, passos e resultado esperado, usada para verificar se uma…
- test doubleNome genérico para objetos usados no lugar de dependências reais em testes: dummy, stub, spy, mock e fake.
- test pyramidModelo que recomenda ter muitos testes unitários rápidos na base, menos testes de integração no meio e…
- threat modelingProcesso de analisar um sistema para identificar quem poderia atacá-lo, por quais caminhos e com que…
- throttlingControle que limita a velocidade ou a quantidade de operações, desacelerando ou recusando o excesso, para…
- thundering herdProblema em que muitos clientes tentam a mesma coisa ao mesmo tempo, em geral após uma falha ou expiração…
- ticketRegistro de uma tarefa, bug ou pedido numa ferramenta de gestão, como Jira ou Linear, que acompanha o item…
- timeboxLimite fixo de tempo para uma atividade; ao fim do prazo, o trabalho para ou é reavaliado, mesmo que não…
- timeoutLimite de tempo de espera por uma resposta; passado esse prazo, a operação é cancelada e tratada como falha.
- tipagemSistema pelo qual uma linguagem classifica valores em tipos, como número ou texto, e define o que pode ser…
- toilNo vocabulário de SRE, trabalho operacional manual, repetitivo e automatizável, que cresce com o serviço e…
- tratamento de errosCódigo e práticas que preveem falhas, como entrada inválida ou serviço fora do ar, e definem o que o sistema…
- tree shakingTécnica do build que remove do bundle final o código importado que nunca é usado, reduzindo o tamanho dos…
- trunk-based developmentModelo de trabalho em que todo o time integra pequenas mudanças com frequência numa única branch principal…
- twelve-factor appConjunto de doze princípios para construir aplicações que rodam bem na nuvem, tratando configuração…
U
- unit testTeste automatizado que verifica uma pequena parte isolada do código, como uma função, para garantir que ela…
- uptimeTempo em que um sistema permanece funcionando e disponível, normalmente medido em porcentagem de um período.
- user journeySequência de passos e emoções pelos quais o usuário passa para atingir um objetivo no produto, usada para…
- user storyDescrição curta de uma necessidade do ponto de vista de quem usa o produto, no formato 'como [quem], quero…
V
- velocityQuantidade de trabalho, normalmente em story points, que o time costuma concluir por sprint, usada para…
- vendor lock-inDependência tão grande de um fornecedor ou tecnologia que trocar depois se torna caro, lento ou quase…
- versionamentoPrática de registrar e numerar as versões do código ou de um produto, para saber o que mudou e poder voltar…
W
- war roomSala ou canal de comunicação montado durante um incidente grave, onde as pessoas necessárias se reúnem para…
- webhookAviso que um sistema envia automaticamente a uma URL sua quando algo acontece, em vez de você ficar…
- WIPSigla de work in progress, 'trabalho em andamento': marca algo ainda inacabado, como um PR que não está…
- wireframeEsboço simples da estrutura de uma tela, sem cores nem identidade visual, que mostra onde ficam os elementos…
- workaroundSolução alternativa e temporária para contornar um problema sem resolver a causa, usada enquanto a correção…
- works on my machineFrase clássica de quem não consegue reproduzir um bug visto por outra pessoa, porque o ambiente é diferente…
X
Y
- YAGNIPrincípio de não implementar algo só porque pode ser útil no futuro; construa apenas o que é necessário agora.
- yak shavingCadeia de tarefas secundárias que você precisa cumprir, uma depois da outra, antes de conseguir resolver o…