مقابلات

بيتر ماكي، رئيس علاقات المطورين في Sonar – سلسلة المقابلات

mm

بيتر ماكي هو رئيس علاقات المطورين في Sonar، منصة تحل تحديًا بقيمة تريليونات الدولارات وهو الكود السيئ. يُجهز Sonar المطورين والمنظمات لتحقيق حالة الكود النظيف بشكل منهجي بحيث يكون جميع الكود مناسبًا للتنمية والإنتاج. من خلال تطبيق منهجية Sonar للكود النظيف أثناء الكتابة، تقلل المنظمات من المخاطر وتقلل من الديون الفنية وتستفيد أكثر من برامجها بشكل قابل للتنبؤ ومستدام.

ما الذي جذبك في البداية إلى علوم الحاسوب؟

كنت مهتمًا بالحواسيب منذ سن مبكر. حتى عندما كنت أتبع مسارًا مهنيًا آخر، كنت أعود دائمًا إلى الحواسيب والبرمجة. في مرحلة ما، كان والدي يدير شركة صلب في فرجينيا وفقدوا فريق الاستشاريين.由于 تعلمت البرمجة عندما كنت أصغر سناً، دعاني للعمل وبناء أنظمة له. لم أكن أعرف، بصدق، ما كنت أفعل 100٪ في البداية، لكنني تعلمت من الكتب والعمل في الوظيفة، وأصبحت تلقائيًا. هذا استمر في دفع اهتمامي بالبرمجة والحواسيب وأثبت بشكل حقيقي اهتمامي بعلم الحاسوب.

يمكنك توضيح كيف تعرف الكود النظيف وماذا يهم؟

قالوا لسنوات الآن أن البرمجيات ستأكل العالم، وأنا أقول إننا وصلنا إلى النقطة التي أصبحت فيها رسمية – العالم مبني على البرمجيات وكل شركة هي بشكل فعال شركة برمجيات. في أساس البرمجيات الجيدة يوجد كود جيد، حيث أن الكود هو في صلب جميع البرمجيات ويكون سلوكها وأدائها. هذا هو السبب في أن الكود النظيف — الكود الذي يتماشى والمتعمد والقابل للتكيف والمسؤول — مهم جدًا. الكود النظيف سهل الفهم والتعديل ويعمل بسلاسة في وقت التشغيل ولا يحتوي على ديون فنية، وبالتالي يكون مناسبًا للغرض. الكود النظيف هو المعيار الذي يجب أن تتبناه المنظمات لضمان استمرار برامجها في كونها أصولًا — وليست عبئًا — والمحرك الرئيسي للنجاح التجاري اليوم.

يحقق الكود النظيف فوائد للفرق والمنظمات من جميع الأحجام ومستويات النضج، ويزيد من قيمة البرمجيات نتيجة لذلك. بعض الفوائد المحددة هي:

  • يعزز مهارات التطوير — يمكن للمطورين اكتشاف وفهم ومعالجة المشكلات أثناء كتابة الكود同时 يتعلمون أفضل الممارسات
  • يزيد من الكفاءة والإنتاجية — بتقليل العمل المتكرر والدوائر المرتدة الطويلة، مما يؤدي إلى زيادة الإنتاجية
  • يقلل من المخاطر التسمعية والتجارية — يضمن الكود النظيف مخاطر أمنية أقل من خلال تمكين الفرق من معالجة القضايا بشكل استباقي قبل وصولها إلى الإنتاج
  • يقلل من الديون الفنية على مستوى الكود — يعالج الكود النظيف الديون تدريجيًا دون الحاجة إلى إعادة بناء تطبيق كبير واضطراب
  • يزيد من سرعة تطوير البرمجيات — يُحسن معايير الكود النظيف والتدفقات المُبسطة من سرعة DevOps، مما يؤدي إلى وصول أسرع إلى السوق

يمكنك مناقشة أهمية الاتساق والهيكل في الكود، وما هي بعض الأمثلة على الكود النظيف والمتسق؟

جودة الكود المتسقة شيء يهدف إليه كل مدير أو مدير تقني. الاتساق حاسم عندما يتعلق الأمر بجودة الكود لأنه يؤدي إلى قابلية التنبؤ. يتم كتابة الكود بطريقة موحدة وتقليدية — وجميع الكود يبدو متشابهًا ويتابع نمطًا منتظمًا، حتى مع مساهمين متعددين في أوقات مختلفة. الكود المتسق يتم تنسيقه وتقليدًا ويمكن تمييزه. عندما يتم تبني معايير الترميز المتسقة، يصبح المطورون أكثر كفاءة وقادرين على تلبية توقعات التسليم بسرعة ودقة.

يمكنك مناقشة أهمية الكود الذي يمكنه التعامل مع الحالات غير المتوقعة، ولماذا لا ينبغي إغفاله؟

يحاول المطورون دائمًا توقع وتحضير الحالات غير المتوقعة أثناء تصميم وتنمية البرمجيات، لكن هذا لا يمكن منعه في كل حالة. يمكن أن تظهر حالات غير متوقعة بسبب سوء استخدام غير مقصود أو هجمات مقصودة. يمكن أن تؤدي هذه الحالات غير المتوقعة إلى إحداث ثغرات أمنية يمكن للمهاجمين استغلالها. هذا هو السبب في أن المطورين يجب أن يسعوا دائمًا إلى تحسين جودة وثبات كودهم واختبار الحالات غير المتوقعة. من خلال اتباع نهج الكود النظيف أثناء الكتابة، يمكن للفرق تسريع الميزات الجديدة وتجنب التكاليف غير الضرورية وتعزيز نمو المواهب والاحتفاظ بها. يُحافظ الكود النظيف على الأمان والصيانة والموثوقية، ويمكن أن يسمح للمطورين بالتوقع والتعامل مع الحالات غير المتوقعة بشكل أكثر فعالية واعادة تشغيل البرمجيات بشكل أسرع.

يمكنك مناقشة فوائد استخدام الذكاء الاصطناعي لتوليد الكود؟

تضمين الذكاء الاصطناعي في دورة حياة تطوير البرمجيات له فوائد، مثل تمكين المطورين من العمل بكفاءة أكبر. في الواقع، وجد بحث GitHub أن المطورين يمكنهم إكمال المهام بشكل أسرع بنسبة 50٪ باستخدام الذكاء الاصطناعي. يمكن للذكاء الاصطناعي أيضًا توليد الكود بشكل أسرع، وبالتالي إزالة عبء المهام الروتينية مثل توثيق الكود أو توليد شفرة الكود، بحيث يمكنهم التركيز على العمل ذي القيمة العالية والمكافأة لحل المشكلات الأكثر تعقيدًا. بغض النظر عن كيفية إنشاء الكود، من المهم أن يتم فحصه مقابل معايير الكود النظيف لضمان أمانه وثباته وقابلية صيانته.

ما هي بعض المخاطر والخدور المحتملة للكود المولّد؟

في حين أن الذكاء الاصطناعي يمكن أن يحرر وقت المطورين للعمل على مشاريع ذات قيمة أعلى ويعزز الإنتاجية، إلا أنه لا يأتي بدون مخاطر. هذا هو السبب في أن الطلب على المطورين لن يزول في عصر الذكاء الاصطناعي. لأن أدوات الذكاء الاصطناعي يمكن أن تولد الكثير من الكود بسرعة، هناك إمكانية لحدوث أخطاء. بعض المخاطر المحددة هي:

  • المساءلة: يقلل الكود المولّد بواسطة الذكاء الاصطناعي من القدرة على مساءلة الأشخاص عن الكود المولّد، مما يجعل حل المشكلات أكثر صعوبة.
  • الضعف: نظرًا لأنها تأخذ معلومات من مصادر جماعية بشكل كبير، لا يوجد ضمان بأن الكود المولّد آمن أو نظيف. قد توجد أخطاء أو مشاكل أمنية يمكن أن تضع الأعمال في خطر.
  • الجودة: لا يتحقق الذكاء الاصطناعي من الجودة، و مجرد أن الكود مولد بواسطة الذكاء الاصطناعي لا يعني أنه كفء أو عالي الجودة.
  • لا سياق: فقدان العنصر البشري بشكل طبيعي يعني فقدان السياق لمشكلة أو مشروع. يجب مراجعة الكود المولّد بواسطة الذكاء الاصطناعي لضمان إنجازه للمهمة بشكل كامل.

ما هي بعض المتغيرات الأخرى التي يجب مراعاتها في الكود المناسب للإنتاج؟

يمكن للمطورين الذين يكتبون كودًا يمتثل لمبادئ الكود النظيف أن يكونوا واثقين من أن كودهم مناسب للتنمية والإنتاج، مما يعني أن الكود يتبع سمات معينة:

  • الاتساق: يجب أن يكون الكود متسقًا ويتابع نمطًا شائعًا. حتى إذا تم العمل على الكود من قبل عدة مطورين مختلفين على مدار الوقت، يجب أن يبدو متشابهًا ويتابع الأنماط المحددة مسبقًا.
  • الغرض: يجب أن يقرأ الكود الغرضي كما لو كان مكتوبًا باهتمام واهتمام لنقل غرضه؛ يجب أن يكون له تفسير واحد فقط.
  • التنظيم: يجب أن يكون الكود المنظم مقسمًا ومرتبًا بطريقة تجعل من السهل إدارته ورؤية العلاقات بين كل سطر من الكود. هذا يجعل الكود منظمًا لتطويره بثقة.
  • المسؤولية: يجب أن يكون الكود ومطوريها على دراية بالتزاماتهم الأخلاقية المتعلقة بالبيانات وتأثيرها المحتمل على القيم الاجتماعية. يجب أن يكون الكود في النهاية لا يعرض خطرًا متواصلًا غير مقصود ل伤ة أطراف ثالثة.

يمكنك مناقشة بعض العروض المختلفة من Sonar، وكيف يساعد المطورين على بناء كود مسؤول وأمني وعالية الجودة بسرعة وبالنظام؟

من خلال تحليلاتنا الرائدة في الصناعة، يحدد Sonar مشاكل الترميز بشكل شامل ويوصي بإصلاحات مع دوائر ملاحظة قصيرة وتعليم المطور في السياق، في النهاية تمكين المنظمات من بناء كود مسؤول وأمني وعالية الجودة بسرعة وبالنظام. العناصر الأساسية لحل Sonar هي SonarLint و SonarQube (مُدارة ذاتيًا؛ مفتوحة المصدر) و SonarCloud (SaaS)، مع تغطية واسعة تدعم أكثر من 30 لغة برمجة وإطارًا وبنية تحتية، و 11 IDE، وأكثر من 5000 قاعدة برمجة و语言 محددة.

SonarLint، وهو ملحق IDE، يوفر الخط الأول من الفحوصات لتحديد المشاكل في الوقت الفعلي من لحظة كتابة الكود. يلتقط جزءًا كبيرًا من المشاكل في البداية ويساعد المطورين على اكتشاف ومعالجة الأخطاء مثل فحص拼يف للكود. SonarQube و SonarCloud، أدوات مراجعة الكود الثابتة من Sonar، تفتيش وتحليل قاعدة الكود بشكل مستمر، مع دمج SonarLint. باستخدام بوابات الجودة لتحديد ما إذا كان الكود يلبي معايير الجودة والأمان والموثوقية المحددة للإنتاج، يفتيش SonarQube و SonarCloud الكود عن الأخطاء والضعف وخطوط الساخن الأمنية وروائح الكود.

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

كيف يساعد Sonar في ضمان أن يكون الكود متوافقًا ويلبي المعايير الصناعية؟

يساعد Sonar المطورين على الحصول على ملاحظات فورية وموضعية، مع إبراز المشاكل حيث هم في قاعدة الكود، داخل تدفق التطوير بناءً على سنوات من خبرة محلل اللغة. يحصل المطورون على توضيحات واضحة لماذا تحدث مشكلة وكيفية معالجتها بسرعة، بالإضافة إلى موارد إضافية للتعلم أكثر عمقًا. لدينا تعليم مبني خلال كل تدفق العمل، من IDE إلى CI/CD. على سبيل المثال، لدى Sonar قواعد MISRA C++ 2023 محددة في SonarLint لمساعدة الفرق على إنشاء كود مناسب لأغراض الشهادة. يوفر إرشادات برمجة، ويوضح سبب وجود مشكلة معلمة وكيفية إصلاحها، لضمان أن الكود المكتوب يمتثل لمعايير MISRA.

ما هو رؤيتك لكيفية تحويل الذكاء الاصطناعي لترميز البرمجيات في المستقبل؟

أعتقد أن الذكاء الاصطناعي سيستمر في تقديم قيمة كبيرة في معالجة إرهاق المطورين. بينما لا أعتقد أن الذكاء الاصطناعي سيتمكن أبدًا من تفريغ تفكير المطورين واللمسة البشرية، أعتقد أننا سنرى بعد بضعة أشهر مجموعة جديدة تمامًا من GPTs — ناهيك عن ما سيبدو عليه بعد بضع سنوات. لا أظن أن التكنولوجيين أو المطورين سيتلاشون، لكن الطريقة التي يعملون بها سيتغير بالتأكيد. سيكون استخدام المطورين للذكاء الاصطناعي بسيطًا ومتعارفًا عليه مثل البحث على Google لشيء كاختصار. هناك الكثير لاستكشافه حول استخدام الذكاء الاصطناعي، لكننا يجب أن نضع العنصر البشري في المقدمة لتحديد عيوب الذكاء الاصطناعي. هناك إمكانية تحويلية لتطوير البرمجيات، لكننا لا يجب أن نسمح لها بالعمل بدون أي ضوابط — خاصة عندما تعتمد الشركات الرقمية اليوم على البرمجيات التي تدعمها.

شكرًا على المقابلة الرائعة، يرغب القراء في معرفة المزيد في زيارة Sonar.

أنطوان هو قائد رؤيوي وشريك مؤسس في Unite.AI، مدفوعًا برغبة لا تكل في تشكيل وتعزيز مستقبل الذكاء الاصطناعي والروبوتات. وهو رائد أعمال متسلسل، يعتقد أن الذكاء الاصطناعي سيكون مدمرًا للمجتمع مثل الكهرباء، وغالبًا ما يُقبض عليه وهو يثرثر عن إمكانات التكنولوجيات المدمرة والذكاء الاصطناعي العام.

كما أنه مستقبلي، فهو يلتزم بفحص كيف ستشكل هذه الابتكارات العالم. بالإضافة إلى ذلك، فهو مؤسس Securities.io، وهي منصة تركز على الاستثمار في التكنولوجيات المتقدمة التي تعيد تعريف المستقبل وتهيئ القطاعات بأكملها.