Glosario para Desarrolladores
Guia completa de terminologia de code review, seguridad, DevOps y calidad de software
50 terminos
Code Review y Calidad
(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.
Principio DRY (Don't Repeat Yourself)
Un principio de desarrollo de software que establece que cada pieza de conocimiento debe tener una única representación autorizada en un sistema.
Principio KISS (Keep It Simple, Stupid)
Un principio de diseño que establece que los sistemas funcionan mejor cuando se mantienen simples en lugar de complejos. La simplicidad debe ser un objetivo clave.
YAGNI (You Aren't Gonna Need It)
Un principio de Programación Extrema que establece que los programadores no deben añadir funcionalidad hasta que realmente se necesite, evitando características especulativas.
Código Muerto
Código que nunca se ejecuta en tiempo de ejecución, incluyendo código inalcanzable, funciones no usadas y código oculto detrás de condiciones siempre falsas.
Seguridad
(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 (Falsificación de Petición en Sitios Cruzados)
HOTUn ataque que obliga a usuarios autenticados a ejecutar acciones no deseadas en una aplicación web engañándolos para que hagan clic en enlaces maliciosos o envíen formularios.
Autenticación
HOTEl proceso de verificar la identidad de un usuario, dispositivo o sistema. Responde a la pregunta "¿Quién eres?" (en contraste con autorización, que responde "¿Qué puedes hacer?").
Gestión de Secretos
HOTLa práctica de almacenar, distribuir y rotar de forma segura datos sensibles como claves API, contraseñas, credenciales de bases de datos y certificados.
Vulnerabilidad de Dependencias
HOTUna debilidad de seguridad en bibliotecas o paquetes de terceros de los que depende una aplicación, que puede ser explotada para comprometer la aplicación.
Escaneo de Código
HOTAnálisis automatizado de código para encontrar vulnerabilidades de seguridad, bugs y problemas de calidad de código, típicamente integrado en 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
HOTUna arquitectura de IA donde múltiples agentes especializados colaboran en tareas complejas, cada uno enfocándose en un dominio específico como seguridad, rendimiento o calidad de código.
DevOps y 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
HOTLa plataforma CI/CD integrada de GitHub que permite automatizar flujos de trabajo de software directamente desde tu repositorio usando archivos de configuración 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 se ejecutan automáticamente antes de crear un commit de git, usados para aplicar estándares de calidad de código, ejecutar linters y 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 (Pruebas End-to-End)
HOTUna metodología de pruebas que valida todo el flujo de trabajo de la aplicación de principio a fin, simulando escenarios de usuario reales incluyendo UI, APIs, bases de datos e integraciones 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.
Umbral de Cobertura de Tests
Un porcentaje mínimo de código que debe estar cubierto por tests, aplicado en pipelines CI/CD para asegurar que el nuevo código no disminuya la cobertura total de tests.
Pruebas de Mutación
Una técnica para evaluar la calidad de los tests introduciendo pequeños cambios (mutaciones) al código y verificando si los tests los detectan. Las mutaciones no detectadas indican tests débiles.
Git y Control de Versiones
(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 y Arquitectura
(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.
Complejidad del Código
Una medida cuantitativa de cuán difícil es entender, probar y mantener el código, basada en factores como ramificación, profundidad de anidamiento y dependencias.
Automatiza Code Review con diffray
Sistema de IA multi-agente para code review. Encuentra bugs, vulnerabilidades de seguridad y problemas de arquitectura automaticamente.