Developer Glossary
Complete guide to code review, security, DevOps, and software quality terminology
50 terms
Code Review & Quality
(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.
DRY Principle (Don't Repeat Yourself)
A software development principle stating that every piece of knowledge should have a single, authoritative representation in a system.
KISS Principle (Keep It Simple, Stupid)
A design principle that states systems work best when they are kept simple rather than made complex. Simplicity should be a key goal.
YAGNI (You Aren't Gonna Need It)
An Extreme Programming principle that states programmers should not add functionality until it is actually needed, avoiding speculative features.
Dead Code
Code that is never executed at runtime, including unreachable code, unused functions, and code hidden behind always-false conditions.
Security
(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 (Cross-Site Request Forgery)
HOTAn attack that forces authenticated users to execute unwanted actions on a web application by tricking them into clicking malicious links or submitting forms.
Authentication
HOTThe process of verifying the identity of a user, device, or system. Answers the question "Who are you?" (contrasted with authorization, which answers "What can you do?").
Secrets Management
HOTThe practice of securely storing, distributing, and rotating sensitive data like API keys, passwords, database credentials, and certificates.
Dependency Vulnerability
HOTA security weakness in third-party libraries or packages that an application depends on, which can be exploited to compromise the application.
Code Scanning
HOTAutomated analysis of code to find security vulnerabilities, bugs, and code quality issues, typically integrated into CI/CD pipelines.
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.
Multi-Agent AI
HOTAn AI architecture where multiple specialized agents collaborate on complex tasks, each focusing on a specific domain like security, performance, or code quality.
DevOps & 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
HOTGitHub's built-in CI/CD platform that allows you to automate software workflows directly from your repository using YAML configuration files.
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 that run automatically before a git commit is created, used to enforce code quality standards, run linters, and prevent committing problematic code.
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 (End-to-End Testing)
HOTA testing methodology that validates the entire application workflow from start to finish, simulating real user scenarios including UI, APIs, databases, and external integrations.
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.
Test Coverage Threshold
A minimum percentage of code that must be covered by tests, enforced in CI/CD pipelines to ensure new code doesn't decrease overall test coverage.
Mutation Testing
A technique to evaluate test quality by introducing small changes (mutations) to code and checking if tests detect them. Undetected mutations indicate weak tests.
Git & Version Control
(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.
Metrics & Architecture
(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.
Code Complexity
A quantitative measure of how difficult code is to understand, test, and maintain, based on factors like branching, nesting depth, and dependencies.
Automate Code Review with diffray
Multi-agent AI system for code review. Automatically finds bugs, security vulnerabilities, and architecture issues.