Entwickler-Glossar
Vollstandiger Leitfaden zu Code Review, Sicherheit, DevOps und Software-Qualitat
50 Begriffe
Code Review & Qualitat
(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-Prinzip (Don't Repeat Yourself)
Ein Softwareentwicklungsprinzip, das besagt, dass jedes Stück Wissen eine einzige, maßgebliche Repräsentation in einem System haben sollte.
KISS-Prinzip (Keep It Simple, Stupid)
Ein Designprinzip, das besagt, dass Systeme am besten funktionieren, wenn sie einfach gehalten werden, anstatt komplex gemacht zu werden. Einfachheit sollte ein Schlüsselziel sein.
YAGNI (You Aren't Gonna Need It)
Ein Extreme-Programming-Prinzip, das besagt, dass Programmierer keine Funktionalität hinzufügen sollten, bis sie tatsächlich benötigt wird, um spekulative Features zu vermeiden.
Toter Code
Code, der zur Laufzeit nie ausgeführt wird, einschließlich unerreichbaren Codes, ungenutzter Funktionen und Code hinter immer-falschen Bedingungen.
Sicherheit
(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)
HOTEin Angriff, der authentifizierte Benutzer dazu zwingt, ungewollte Aktionen in einer Webanwendung auszuführen, indem sie dazu verleitet werden, auf bösartige Links zu klicken oder Formulare abzusenden.
Authentifizierung
HOTDer Prozess der Überprüfung der Identität eines Benutzers, Geräts oder Systems. Beantwortet die Frage "Wer bist du?" (im Gegensatz zur Autorisierung, die beantwortet "Was darfst du tun?").
Secrets-Management
HOTDie Praxis der sicheren Speicherung, Verteilung und Rotation sensibler Daten wie API-Schlüssel, Passwörter, Datenbank-Anmeldedaten und Zertifikate.
Abhängigkeits-Schwachstelle
HOTEine Sicherheitsschwäche in Drittanbieter-Bibliotheken oder Paketen, von denen eine Anwendung abhängt und die ausgenutzt werden kann, um die Anwendung zu kompromittieren.
Code-Scanning
HOTAutomatisierte Codeanalyse zum Finden von Sicherheitslücken, Bugs und Code-Qualitätsproblemen, typischerweise in CI/CD-Pipelines integriert.
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.
KI 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-KI
HOTEine KI-Architektur, bei der mehrere spezialisierte Agenten bei komplexen Aufgaben zusammenarbeiten, wobei sich jeder auf einen bestimmten Bereich wie Sicherheit, Performance oder Code-Qualität konzentriert.
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
HOTGitHubs integrierte CI/CD-Plattform, die es ermöglicht, Software-Workflows direkt aus dem Repository mithilfe von YAML-Konfigurationsdateien zu automatisieren.
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
Skripte, die automatisch vor der Erstellung eines Git-Commits ausgeführt werden, um Code-Qualitätsstandards durchzusetzen, Linter auszuführen und das Committen von problematischem Code zu verhindern.
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)
HOTEine Testmethodik, die den gesamten Anwendungsworkflow von Anfang bis Ende validiert und reale Benutzerszenarien einschließlich UI, APIs, Datenbanken und externer Integrationen simuliert.
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-Schwellenwert
Ein Mindestprozentsatz des Codes, der durch Tests abgedeckt sein muss, der in CI/CD-Pipelines durchgesetzt wird, um sicherzustellen, dass neuer Code die Gesamttestabdeckung nicht verringert.
Mutation Testing
Eine Technik zur Bewertung der Testqualität durch Einführen kleiner Änderungen (Mutationen) am Code und Prüfen, ob Tests diese erkennen. Unerkannte Mutationen weisen auf schwache Tests hin.
Git & Versionskontrolle
(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.
Metriken & Architektur
(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-Komplexität
Ein quantitatives Maß dafür, wie schwierig Code zu verstehen, zu testen und zu warten ist, basierend auf Faktoren wie Verzweigung, Verschachtelungstiefe und Abhängigkeiten.
Automatisieren Sie Code Review mit diffray
Multi-Agent KI-System fur Code Review. Findet automatisch Bugs, Sicherheitslucken und Architekturprobleme.