مقابلة مع رئيس مؤتمر RubyRussia ماركوس شيرب

مرحبا بالجميع! بعد أكثر من أسبوع بقليل ، سيعقد مؤتمر روبي روسيا في موسكو. في مقابلة اليوم ، تحدث مطور Evrone Mikhail Morgunov مع أحد المتحدثين لدينا ، Markus Shirp ، منشئ أداة Ruby Mutation Testing الشهيرة.


السؤال الأول عن موتانت . ما الذي نحتاج إلى معرفته عن هذه الأداة؟ ماذا سيكون تقرير روبي روسيا؟

سأحكي قصة أداة اختبار الطفرة - متحولة. أريد أن أعرض الجمهور على المفاهيم الرئيسية: سوف يتعلم الناس حول مستويات التغطية المختلفة ومعناها وقيمتها.

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

كيف بدأت في تطوير متحولة؟

ترتبط هذه القصة بعملي على DataMapper وتنفيذها التالي لـ DataMapper 2 ، والذي أصبح يسمى في نهاية المطاف ROM. كتب Projectlide Dan Kubb مكتبة الجبر العلائقية تسمى اكسيوم لدعم هذه التطورات الجديدة. عندما كتب البديهية ، استخدم استراتيجية "التنمية المحدودة". يتضمن العديد من الأدوات للعمل مع المقاييس واختبار الطفرات.

كانت الأداة التي استخدمناها بعد ذلك لاختبار الطفرة تسمى Hackle. كان لديه بعض العيوب التشغيلية والمفاهيمية. بمجرد أن فكرت: "اللعنة ، لن أحاول إصلاحه! دعنا فقط نكتب اختبارًا جديدًا ونحل جميع مشاكل قياس اختبار الطفرات التي لدينا في DataMapper2. "

كان ذلك قبل 5 أو 6 سنوات ، حيث مرت موتانت بعدة تكرارات. كلهم مرتبطون ليس برغبتي في الكتابة مفتوحة المصدر ، ولكن مع متطلبات المشاريع التجارية التي عملت عليها. لذلك يعتمد تطوير Mutant بشكل كبير على أنشطتي الاستشارية.

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

أي أن العملاء التجاريين يريدون استخدام Mutant؟

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

في الوقت الحالي ، تركت DataMapper2. لم أكتب ميزات أبدًا للمتعة فقط. هذه مجرد آثار جانبية للاستخدام التجاري.

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

هذا في طبيعة الأشياء عند استخدام جوهرة مجانية :)

95 ٪ من الأحجار الكريمة المجانية ليست سوى مشاريع هواية. ليست مناسبة للاستخدام التجاري. الكتاب يجعلهم من مصلحة شخصية. أنا لا ألومهم. لكني أنصح فريق تطوير المشاريع التجارية بوضع هذا في الاعتبار عند أخذ شيء من RubyGems.

قرأت فقط ملف README Mutant على GitHub. لكن حتى الآن لم أفهم الكثير.

ولهذا السبب ، أحتاج إلى قضاء بعض الوقت في كتابة الملف التمهيدي والوثائق الإضافية للمبتدئين.

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

ماذا ينتظرنا؟

في 6 أكتوبر سيكون هناك حديث عن موتانت ، وفي 7 أكتوبر ورشة عمل. سيعتمد على أمثلة من العالم الحقيقي مأخوذة من مشروع مفتوح المصدر يستخدم القضبان و rspec.

بقدر ما أفهم ، أنت تستخدم لغة برمجة مختلفة ، وليس روبي؟

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

في هذه الحالة ، لا يمكنك القدوم واستبدال روبي بخطوة واحدة. وظيفتي الرئيسية هي القيام بإعادة بناء تدريجي / "خنق" لروبي. وأثناء هذه العملية ، تكون يدي في كوعي في روبي ، وهنا Mutant هي الأداة الرئيسية لربط إعادة الهيكلة / تعديل الدورات.

ما اللغات التي تفضلها؟

في الغالب هاسكل. الآن بالنسبة لي هي اللغة الأكثر توازنا من حيث سهولة الاستخدام والملاءمة لتطوير برامج ذات قيمة تجارية. يضمن Haskell Type Checker العديد من العقارات على الفور ؛ الخصائص التي يجب أن أحارب من أجلها في روبي.

هناك العديد من اللغات والإضافات الرائعة الأخرى في الأفق. أعتقد أن الأنواع التابعة ستأخذ "الصواب بعد تمرير فحص النوع" إلى مستوى جديد.

هل تعتقد أن مستقبل روبي و ريلز؟

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

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

ما رأيك في الصدأ؟

أنا حقا أحبه. الآن لا أستخدمه كثيرًا - لم يكن هناك سبب وجيه ، لأن مشاريع العمل لم تستطع الحصول على أي شيء من مزايا Rust مقارنة بالخيارات الأخرى التي كانت لدي.

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

إذا كنت أفعل شيئًا ثقيلًا من الناحية الحسابية ، فإن برنامج ترميز الفيديو على سبيل المثال ، سيكون Rust هو الأداة التي اخترتها.

والسؤال الأخير. ماذا يمكنك أن تنصح المبرمجين المبتدئين؟

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

مثير جدا للاهتمام! يجب أن يعمل!

نعم ، هكذا بدأت :)

نصيحة عظيمة! شكرا للمقابلة! أراك في روبي روسيا.

نحن في انتظاركم أيضا في المؤتمر! بالمناسبة ، هناك أقل من 30 تذكرة متبقية ، لذلك لا نوصي بتأجيل التسجيل إذا قررت الذهاب. وإذا كنت تريد الغوص في Mutant بشكل أكثر شمولاً ، فإننا ننتظر ماركوس في ورشة العمل في 7 أكتوبر. كل التفاصيل على الموقع .

يمكنك قراءة الأصل باللغة الإنجليزية على hype.codes .

وهنا مكان لشكر الشركات العظيمة التي تدعم حدث روبي الرئيسي في روسيا:

الشريك العام - Toptal
شركاء الذهب - Gett and Cookpad
الشركاء الفضيون - Instamart و UCHi.ru و JetBrains و Qlean
الشركاء البرونزيون - Bookmate و InSales

Source: https://habr.com/ru/post/ar424597/


All Articles