Glossario para Desenvolvedores
Guia completo de terminologia de code review, seguranca, DevOps e qualidade de software
50 termos
Code Review e Qualidade
(12)Code Review
HOTThe systematic examination of source code by one or more developers to identify bugs, security vulnerabilities, and improve code quality before merging into the main codebase.
Static Analysis
HOTThe process of analyzing source code without executing it to find potential bugs, security vulnerabilities, and code quality issues.
Technical Debt
HOTThe implied cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer.
Code Smell
HOTA surface indication in the source code that usually corresponds to a deeper problem in the system. Not a bug itself, but a sign that refactoring may be needed.
Refactoring
HOTThe process of restructuring existing code without changing its external behavior to improve readability, reduce complexity, and make it easier to maintain.
Linting
The process of running a program that analyzes code for potential errors, bugs, stylistic issues, and suspicious constructs.
Clean Code
Code that is easy to understand, simple to modify, and clearly expresses the intent of the programmer. A philosophy popularized by Robert C. Martin.
Legacy Code
Existing code that is difficult to change due to lack of tests, poor documentation, outdated technologies, or original developers no longer available.
Princípio DRY (Don't Repeat Yourself)
Um princípio de desenvolvimento de software que afirma que cada pedaço de conhecimento deve ter uma única representação autoritativa em um sistema.
Princípio KISS (Keep It Simple, Stupid)
Um princípio de design que afirma que sistemas funcionam melhor quando são mantidos simples em vez de complexos. Simplicidade deve ser um objetivo chave.
YAGNI (You Aren't Gonna Need It)
Um princípio de Programação Extrema que afirma que programadores não devem adicionar funcionalidade até que seja realmente necessária, evitando recursos especulativos.
Código Morto
Código que nunca é executado em tempo de execução, incluindo código inalcançável, funções não usadas e código oculto atrás de condições sempre falsas.
Seguranca
(12)SAST
HOTStatic Application Security Testing — a method of analyzing source code for security vulnerabilities without executing the program.
DAST
HOTDynamic Application Security Testing — a method of testing running applications for security vulnerabilities by simulating attacks.
OWASP
HOTThe Open Worldwide Application Security Project — a nonprofit foundation that works to improve software security through community-led open-source projects.
OWASP Top 10
HOTA regularly updated list of the 10 most critical security risks to web applications, published by OWASP as a standard awareness document for developers.
CSRF (Falsificação de Solicitação entre Sites)
HOTUm ataque que força usuários autenticados a executar ações indesejadas em uma aplicação web, enganando-os para clicar em links maliciosos ou enviar formulários.
Autenticação
HOTO processo de verificar a identidade de um usuário, dispositivo ou sistema. Responde à pergunta "Quem é você?" (em contraste com autorização, que responde "O que você pode fazer?").
Gerenciamento de Segredos
HOTA prática de armazenar, distribuir e rotacionar de forma segura dados sensíveis como chaves de API, senhas, credenciais de banco de dados e certificados.
Vulnerabilidade de Dependência
HOTUma fraqueza de segurança em bibliotecas ou pacotes de terceiros dos quais uma aplicação depende, que pode ser explorada para comprometer a aplicação.
Escaneamento de Código
HOTAnálise automatizada de código para encontrar vulnerabilidades de segurança, bugs e problemas de qualidade de código, tipicamente integrado em pipelines CI/CD.
DevSecOps
An approach that integrates security practices into every phase of the DevOps pipeline, making security a shared responsibility across development, security, and operations teams.
SQL Injection
A code injection technique that exploits security vulnerabilities in an application's database layer by inserting malicious SQL statements into input fields.
XSS (Cross-Site Scripting)
A security vulnerability that allows attackers to inject malicious scripts into web pages viewed by other users, potentially stealing session cookies, credentials, or performing actions on behalf of victims.
AI Code Review
(3)AI Code Review
HOTThe use of artificial intelligence and machine learning to automatically analyze code changes and provide feedback on quality, security, and best practices.
Automated Code Review
HOTThe use of automated tools to analyze code and provide feedback without manual human intervention, typically integrated into CI/CD pipelines.
IA Multi-Agente
HOTUma arquitetura de IA onde múltiplos agentes especializados colaboram em tarefas complexas, cada um focando em um domínio específico como segurança, performance ou qualidade de código.
DevOps e CI/CD
(5)CI/CD
HOTContinuous Integration and Continuous Delivery/Deployment — a set of practices that automate the building, testing, and deployment of code changes.
DevOps
HOTA set of practices combining software development (Dev) and IT operations (Ops) that aims to shorten the development lifecycle and deliver high-quality software continuously.
GitHub Actions
HOTA plataforma CI/CD integrada do GitHub que permite automatizar fluxos de trabalho de software diretamente do seu repositório usando arquivos de configuração YAML.
Shift Left
A practice of moving testing, quality, and security processes earlier in the software development lifecycle to find and fix issues sooner.
Pre-commit Hooks
Scripts que executam automaticamente antes de um commit git ser criado, usados para aplicar padrões de qualidade de código, executar linters e prevenir commits de código problemático.
Testing
(7)Unit Testing
HOTA software testing method where individual units or components of code are tested in isolation to verify they work correctly.
Code Coverage
HOTA metric that measures the percentage of code executed during testing, indicating how much of the codebase is covered by automated tests.
E2E Testing (Testes End-to-End)
HOTUma metodologia de testes que valida todo o fluxo de trabalho da aplicação do início ao fim, simulando cenários de usuário reais incluindo UI, APIs, bancos de dados e integrações externas.
TDD (Test-Driven Development)
A software development practice where tests are written before the actual code, following a cycle of: write a failing test, write minimal code to pass, then refactor.
Integration Testing
Testing that verifies different modules or services work correctly together, typically testing interactions between components rather than individual units.
Limiar de Cobertura de Testes
Uma porcentagem mínima de código que deve ser coberta por testes, aplicada em pipelines CI/CD para garantir que o novo código não diminua a cobertura total de testes.
Testes de Mutação
Uma técnica para avaliar a qualidade dos testes introduzindo pequenas mudanças (mutações) no código e verificando se os testes as detectam. Mutações não detectadas indicam testes fracos.
Git e Controle de Versao
(7)Pull Request
HOTA method of submitting code changes for review before merging into the main branch. Also known as merge request (MR) in GitLab.
Git
HOTA distributed version control system that tracks changes in source code during software development, enabling multiple developers to work together.
Merge Request
GitLab's term for a pull request — a method of submitting code changes for review before merging into another branch. Functionally identical to GitHub's pull request.
Commit
A snapshot of changes in a Git repository that records modifications to files along with a message describing what changed and why.
Branch
An independent line of development in Git that allows developers to work on features, fixes, or experiments without affecting the main codebase.
Gitflow
A branching model for Git that defines a strict branching structure designed around project releases, using dedicated branches for features, releases, and hotfixes.
Trunk-Based Development
A source-control branching model where developers collaborate on code in a single branch called "trunk" (or main), avoiding long-lived feature branches.
Metricas e Arquitetura
(4)Cyclomatic Complexity
A software metric that measures the number of independent paths through a program's source code, indicating code complexity and testability.
DORA Metrics
Four key metrics identified by the DevOps Research and Assessment (DORA) team that measure software delivery performance: deployment frequency, lead time for changes, change failure rate, and time to restore service.
SOLID Principles
Five design principles for object-oriented programming that promote maintainable, flexible, and understandable code: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion.
Complexidade de Código
Uma medida quantitativa de quão difícil é entender, testar e manter o código, baseada em fatores como ramificação, profundidade de aninhamento e dependências.
Automatize Code Review com diffray
Sistema de IA multi-agente para code review. Encontra bugs, vulnerabilidades de seguranca e problemas de arquitetura automaticamente.