قاموس المطورين

دليل شامل لمصطلحات مراجعة الكود والأمان وDevOps وجودة البرمجيات

50 مصطلح

مراجعة الكود والجودة

(12)

Code Review

HOT

The 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

HOT

The process of analyzing source code without executing it to find potential bugs, security vulnerabilities, and code quality issues.

Technical Debt

HOT

The 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

HOT

A 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

HOT

The 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 (لا تكرر نفسك)

مبدأ تطوير البرمجيات الذي ينص على أن كل جزء من المعرفة يجب أن يكون له تمثيل واحد موثوق في النظام.

مبدأ KISS (أبقِها بسيطة، غبي)

مبدأ تصميم ينص على أن الأنظمة تعمل بشكل أفضل عندما تُبقى بسيطة بدلاً من جعلها معقدة. يجب أن تكون البساطة هدفاً رئيسياً.

YAGNI (لن تحتاجه)

مبدأ البرمجة المتطرفة الذي ينص على أن المبرمجين لا يجب أن يضيفوا وظائف حتى تكون مطلوبة فعلياً، متجنبين الميزات التخمينية.

الكود الميت

كود لا يتم تنفيذه أبداً في وقت التشغيل، بما في ذلك الكود غير القابل للوصول، الدوال غير المستخدمة، والكود المخفي خلف شروط دائماً خاطئة.

الأمان

(12)

SAST

HOT

Static Application Security Testing — a method of analyzing source code for security vulnerabilities without executing the program.

DAST

HOT

Dynamic Application Security Testing — a method of testing running applications for security vulnerabilities by simulating attacks.

OWASP

HOT

The Open Worldwide Application Security Project — a nonprofit foundation that works to improve software security through community-led open-source projects.

OWASP Top 10

HOT

A regularly updated list of the 10 most critical security risks to web applications, published by OWASP as a standard awareness document for developers.

CSRF (تزوير الطلبات عبر المواقع)

HOT

هجوم يُجبر المستخدمين المصادق عليهم على تنفيذ إجراءات غير مرغوبة في تطبيق ويب عن طريق خداعهم للنقر على روابط ضارة أو إرسال نماذج.

المصادقة

HOT

عملية التحقق من هوية المستخدم أو الجهاز أو النظام. تجيب على سؤال "من أنت؟" (على عكس التفويض الذي يجيب على "ماذا يمكنك أن تفعل؟").

إدارة الأسرار

HOT

ممارسة تخزين وتوزيع وتدوير البيانات الحساسة بشكل آمن مثل مفاتيح API وكلمات المرور وبيانات اعتماد قواعد البيانات والشهادات.

ثغرة التبعيات

HOT

ضعف أمني في مكتبات أو حزم الطرف الثالث التي يعتمد عليها التطبيق، والتي يمكن استغلالها لاختراق التطبيق.

فحص الكود

HOT

تحليل آلي للكود للعثور على ثغرات أمنية وأخطاء ومشاكل جودة الكود، عادة ما يكون مدمجاً في خطوط 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.

مراجعة الكود بالذكاء الاصطناعي

(3)

DevOps وCI/CD

(5)

الاختبار

(7)

Unit Testing

HOT

A software testing method where individual units or components of code are tested in isolation to verify they work correctly.

Code Coverage

HOT

A metric that measures the percentage of code executed during testing, indicating how much of the codebase is covered by automated tests.

اختبار E2E (اختبار من البداية للنهاية)

HOT

منهجية اختبار تتحقق من سير عمل التطبيق بالكامل من البداية إلى النهاية، محاكاة سيناريوهات المستخدم الحقيقية بما في ذلك واجهة المستخدم وAPIs وقواعد البيانات والتكاملات الخارجية.

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.

عتبة تغطية الاختبارات

نسبة مئوية دنيا من الكود يجب أن تكون مغطاة بالاختبارات، مفروضة في خطوط CI/CD لضمان أن الكود الجديد لا يقلل تغطية الاختبارات الإجمالية.

اختبار الطفرات

تقنية لتقييم جودة الاختبارات عن طريق إدخال تغييرات صغيرة (طفرات) على الكود والتحقق مما إذا كانت الاختبارات تكتشفها. الطفرات غير المكتشفة تشير إلى اختبارات ضعيفة.

Git والتحكم بالإصدارات

(7)

المقاييس والهندسة

(4)

أتمتة مراجعة الكود مع diffray

نظام ذكاء اصطناعي متعدد الوكلاء لمراجعة الكود. يجد الأخطاء والثغرات الأمنية ومشاكل البنية تلقائياً.