Pular para o conteúdo
Aprenda Jogando

Inglês para programadores

Inglês para programadores — Vocabulário técnico

O inglês usado no trabalho em tecnologia: da entrevista à daily, do code review ao Slack. Cada item traz tradução, exemplo e uma nota sobre quando usar. Toque no alto-falante para ouvir a pronúncia.

Crie uma conta para treinar com repetição espaçada e acompanhar o que já domina.

Tópicos

Arquitetura e código 7

refactor

reorganizar a estrutura do código sem mudar seu comportamento externo, feito aos poucos

We're refactoring the payment module before we add anything new to it.

Estamos refatorando o módulo de pagamentos antes de acrescentar qualquer coisa nova.

Verbo e substantivo ('a big refactor'). Não é refazer do zero, isso é rewrite.

tech debt

atalho de hoje que cobra juros amanhã em esforço

Half of the cycle goes to tech debt we created last quarter.

Metade do ciclo vai para a dívida técnica que criamos no trimestre passado.

Forma completa: technical debt. O verbo idiomático é 'to pay down debt'.

legacy

sistema antigo que ainda sustenta o negócio

That legacy service has no automated checks and nobody wants to touch it.

Aquele serviço antigo herdado não tem verificação automatizada e ninguém quer mexer.

Falso amigo parcial: aqui não é herança gloriosa, é peso. Evite tom pejorativo com quem construiu o sistema.

codebase

todo o código de um projeto, visto como um conjunto

The codebase is large, so start with one module and learn the patterns.

O conjunto de código do projeto é grande, então comece por um módulo e aprenda os padrões.

Escreve junto. Em entrevista soa melhor que 'the code' quando você fala do projeto inteiro.

edge case

situação rara nos limites do que era esperado

The form breaks on one edge case: a name with an apostrophe.

O formulário quebra em uma situação rara: nome com apóstrofo.

Plural 'edge cases'. Em revisão, 'what about the edge cases?' é a pergunta mais previsível de todas.

boilerplate

código repetitivo de estrutura, sem lógica própria

The generator writes the boilerplate so we can focus on the business rules.

O gerador escreve o código repetitivo de estrutura para focarmos nas regras de negócio.

Substantivo incontável: diga 'a lot of boilerplate', nunca 'boilerplates'. Em JavaScript, o esqueleto que um gerador de projeto cria antes de você escrever qualquer regra de negócio é puro boilerplate.

workaround

saída temporária que evita o problema sem corrigi-lo

The workaround holds for now, but the proper fix lands next week.

A saída temporária funciona por enquanto, mas a correção chega na semana que vem.

Substantivo junto (a workaround), verbo separado (to work around the issue).

coupling

grau de dependência entre partes do sistema

Tight coupling between those modules makes every change risky.

O acoplamento forte entre aqueles módulos deixa qualquer alteração arriscada.

Anda com tight e loose: tight é ruim, loose é bom. O par conceitual é cohesion.

dependency

biblioteca externa da qual o projeto depende

One dependency jumped a major version and broke everything.

Uma biblioteca externa subiu de versão principal e quebrou tudo.

Plural 'dependencies'. Cuidado com o falso cognato library: é biblioteca de código, não livraria (bookstore). 'Dependency hell' é quando duas dependências exigem versões incompatíveis de uma terceira.

hardcode

fixar um valor direto no código em vez de configurá-lo

Do not hardcode the address, read it from configuration.

Não fixe o endereço direto no código: leia da configuração.

Verbo hardcode, particípio hardcoded. Em revisão você vai ler 'this looks hardcoded'. Exemplo clássico em JavaScript: escrever a URL da API direto no código é hardcoded; o certo é ler de uma variável de ambiente.

wrapper

camada fina que embrulha outra e simplifica o uso

We wrote a thin wrapper around the payment client to hide the retries.

Escrevemos uma camada fina em volta do cliente de pagamento para esconder as novas tentativas.

Pronuncia-se 'ráper', igual ao artista. O verbo é to wrap. Em JavaScript, uma função que chama fetch por dentro e acrescenta retry e log é um wrapper em volta do fetch — quem chama nem sabe que o retry existe.

abstraction

camada que esconde detalhes e expõe só o essencial

The wrong abstraction costs more than a bit of duplicated code.

A camada errada de generalização custa mais caro que um pouco de código duplicado.

'Premature abstraction' é generalizar cedo demais, crítica muito comum em revisão de código.

cohesion

o quanto as partes de um módulo tratam do mesmo assunto

High cohesion means everything in this file has one reason to change.

Alta coesão significa que tudo neste arquivo tem um único motivo para mudar.

Pronúncia 'kou-rrí-jan', com o h aspirado. Anda em par com coupling: alta coesão, baixo acoplamento.

readability

facilidade de entender o código durante a leitura

I would trade three lines of cleverness for readability any day.

Eu troco três linhas de esperteza por clareza de leitura em qualquer dia.

Adjetivo 'readable'. Em revisão, 'this hurts readability' é uma crítica educada e forte ao mesmo tempo.

deprecate

marcar algo como desencorajado, ainda funcionando mas a caminho da remoção

We deprecate the old endpoint this quarter and remove it in June.

Marcamos o endereço antigo como desencorajado neste trimestre e removemos em junho.

Deprecated não é removido: ainda funciona, mas você não deve usar. Pronúncia 'déprikeit'.

decouple

separar duas partes para que mudem de forma independente

The goal of this ticket is to decouple billing from the user profile.

O objetivo deste ticket é desacoplar o billing do perfil do usuário.

Formado por de- mais couple; substantivo decoupling. Cuidado para não separar cedo demais sem necessidade real, isso vira over-engineering: só faz sentido quando as duas partes já mudam por motivos diferentes.

over-engineering

resolver um problema mais complexo do que o que existe de verdade

Three layers of indirection for one screen is over-engineering.

Três camadas de indireção para uma única tela é complexidade além do necessário.

Crítica forte. Soa mais leve como 'this might be a bit over-engineered'.

monolith

sistema único e grande, sem separação em serviços

We still run a monolith and it is fine for our size.

Ainda rodamos um sistema único e grande, e isso serve bem para o nosso tamanho.

Adjetivo 'monolithic'. Não é xingamento: muitos times de sucesso preferem um sistema só.

spaghetti code

código embaralhado, difícil de seguir

That file is spaghetti code and needs a rewrite, not a patch.

Aquele arquivo está embaralhado demais e precisa ser refeito, não remendado.

Expressão informal entre pares. Em conversa com cliente, prefira 'hard to maintain'.

rewrite

refazer do zero em vez de melhorar aos poucos

A full rewrite sounds tempting and almost always takes twice the time.

Refazer tudo do zero parece tentador e quase sempre leva o dobro do tempo.

Substantivo e verbo. Contraste com refactor, que preserva o comportamento passo a passo.

20 itens neste tópico.