أحد عوامل فساد البنية هو التنازل عن تكلفة التطوير

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

سمات البنية الفاسدة هي: عدد كبير من المعالجات الخاصة، ومعالجات التوافق، والاقتران الشديد، والتراكم الذي يصعب التراجع منه. جميع البنى تفسد تدريجياً. البنية الفاسدة تجعل من الصعب تطوير ميزات جديدة، وإصلاح الأخطاء صعب، وأي تغيير يؤثر على الكل، مما يجعل الاختبار وضمان الجودة (QA) أيضاً صعب التنفيذ. رأيت ذات مرة مهتماً بالتطوير من خلفية غير تقنية ينشر قائلاً، قم بتقييد سلوك التجريد للنموذج عند كتابة الكود، حتى يكون الكود أكثر سهولة في الفهم. الكود الذي يسهل على البشر فهمه، سيكون من السهل أيضاً على نماذج اللغة الكبيرة (LLM) فهمه، وبالتالي يمكن تطويره بسرعة مع تقليل الأخطاء. أعتقد أن مطوري الخلفيات غير التقنية ربما لديهم مشاريع صغيرة، واعتادوا على منطق خط التجميع، وإذا كان هناك توقع بتوسع النطاق، فلا يجب أن يقتصر التفكير على خط التجميع، بل يجب استخدام عقلية عامل البناء. عند التخطيط لبناء مبنى من 30 طابقاً، يجب حفر أساس بعمق 10 أمتار، وعند التخطيط لتوفير المياه والكهرباء، يجب تخصيص غرف للمياه والكهرباء. هذا تصميم بأهداف واضحة، وهناك أيضاً تصميم بأهداف غير واضحة، مثل تخصيص مكان في المنزل لوضع جهاز كهربائي مستقبلاً دون تحديد نوعه، يكفي ترك مقبس احتياطي. هندسة البرمجيات لديها بالفعل مبادئ SOLID لتوجيه التصميم، وفي كثير من الأحيان ظاهرياً، عند اتباع مبادئ SOLID لتحقيق نفس الوظيفة، يتم توزيع العمل على ملفات أكثر وكتابة كود أكثر، وبالنظر للنتائج قصيرة المدى، فإن التصميم وعدم التصميم يكاد لا يظهر فرقاً أمام المدير/المختبر والمستخدم، وفوائد التصميم لا تظهر إلا على المدى الطويل. البنية الجيدة تسهل إضافة الميزات وتعديلها وإصلاح الأخطاء، مع إدخال مشاكل أقل. التفكير المطلوب للتصميم غالباً ما يكون أكثر من التطوير المباشر للميزات، فالتصميم يتطلب مراعاة التفصيل، وتركيب لوحة المقابس كبلاط يغطي المنزل بأكمله هو نهج سخيف آخر. في الماضي، عند التطوير كنت أراعي دورة التطوير وأقوم بمساومات، فعند ضيق الوقت كنت أتخلى حتى عن التصميم وأكتفي بإضافة بضعة دوال، وترك المستقبل لأهله. الآن بمساعدة الذكاء الاصطناعي، يمكننا جعل تفاصيل التصميم أصغر، والكود المولد سيكون أصعب على البشر في الفهم، لكن المشروع سيكون أسهل صيانة. بعد زيادة التجريد، النماذج الأضعف قد لا تتعامل معه جيداً، ومن الأفضل استخدام أفضل نموذج متاح حالياً. أما إذا كان مجرد كتابة سكربت، فقد لا يكون الفارق في القدرات بين النماذج واضحاً جداً. بخصوص ما إذا كان الذكاء الاصطناعي قد خفض عتبة دخول المطورين؟ أنا أشك في ذلك، فمسار تعلم المطورين الجدد يختلف تماماً عما مضى، وقد لا يكون الحديث عن ارتفاع أو انخفاض العتبة ذا معنى، لأننا لا نعرف إلى أين نقلت العتبة.

صورة مرفقة 1 لـ أحد عوامل فساد البنية هو التنازل عن تكلفة التطوير