هل المستشار مختص؟ توصيات المشاكل "لا تعيد اختراع العجلة"

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


الغرض المتداخل من هذه العبارة هو إنقاذك من العمل غير المجدي ، والدعوة لاستخدام حل جاهز لهذه المهمة ، ومن وجهة نظر مراقب خارجي ، يبدو الأمر معقولًا حقًا.


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


إن إغفال هذا المبدأ هو نفس اعترافك بعدم قدرتك على حل المشكلات المطبقة.


النظر في عدد قليل من الحالات.


صورة
مصدر


API عبر API


واحدة من الحالات الشائعة لاتهامات ركوب الدراجات هي غلاف واجهة برمجة التطبيقات ذاتية الكتابة لبعض الخدمات ، والتي يتوفر تنفيذها بالفعل.


حالة من ممارستي.


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


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


النتيجة: بعد 1.5 ساعة من العمل معها ، لم يكن من الممكن تسجيل الدخول.


قام أحد الزملاء بتطبيق برنامج تغليف api الخاص بـ Facebook على الويب. في المجموع ، استغرق الأمر حوالي ساعة لإنشاء مجمّع والوظائف ذات الصلة على جانب الخدمة. أجاب عن الأيام القليلة التالية:


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


سؤال جيد : وماذا ، في كل مرة لكتابة هذه الأغلفة يدويا؟


الإجابة: الحل الأكثر قوة للمغلفة الكبيرة هو استخدام مُنشئ كود يفسر المواصفات.


السيطرة على قاعدة الكود ورفض الإجابة عن أخطاء الآخرين


في دوائر المتمني في تطوير ألعاب الكمبيوتر ، يتم توجيه هذه العبارة إلى أي شخص يتجرأ على تنفيذ محركه. "لماذا إعادة اختراع العجلة؟ خذ الوحدة!" . أو لعبة صانع ، أو ، لا سمح الله ، Defold.


يبدو أن dviglo \ constructor يوفر جميع الأدوات اللازمة للتطوير ، وكثير منها عبارة عن منصة مشتركة وتبسط الحياة بشكل عام.


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


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


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


على سبيل المثال ، استنادًا إلى هذه الأماكن ، كتب تومي ريفنس محركه الخاص بـ Super Meat Boy .


شخص ما سوف يعترض: "ولكن في المخزن \ بعض التخزين الأخرى ، هناك جبل من الإعدادات المسبقة \ الأدوات \ التمديدات!" .


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


الهوية الخيالية. سحب المهمة من الأذنين.


في بعض الأحيان ، بعد صياغة المشكلة ، اتضح أن الحلول الحالية التي تتبادر إلى الذهن ... ليست مناسبة. بسبب "محتواها الدهني" أو عدم الرضا عن أحد الشروط الرئيسية للمهمة ( نعم ، هناك عدة ).


مثال جيد: كلونت.


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


استنتاج


عند البحث عن حل لمشكلة ما ، يجب مراعاة السياق وجميع الشروط المحددة .


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


أو في تعميم القبطان:


فكر قبل أن تقرر.
فكر قبل أن تتكلم.
وبشكل عام - فكر.

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


All Articles