كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

منذ فترة دار بيني وبين صديق عزيز لي حوار سمعت فيه العبارات التالية:

- سوف ينمو عدد المبرمجين باستمرار - لأن كمية التعليمات البرمجية تتزايد، ويطلب المزيد والمزيد من المطورين دعمها باستمرار.
— لكن الكود أصبح قديمًا، وبعضه لم يعد مدعومًا. بل من الممكن أن يكون هناك نوع من التوازن.

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

سؤال واحد. هل يمكن للدعم أن "يلتهم" جميع موارد التنمية؟

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

دعونا نشير كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ كامل كمية التعليمات البرمجية المكتوبة حتى تلك النقطة الزمنية كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟. بافتراض أن سرعة كتابة التعليمات البرمجية متناسبة كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟حصلنا على:

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

من الطبيعي أن نفترض أن تكاليف العمالة لصيانة الكود تتناسب مع حجمه:

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

أو

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

من أين

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

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

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

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

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

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

а كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ هو حل لمعادلة تفاضلية ذات وسيطة متخلفة [1]:

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

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

دعونا نلقي نظرة على بعض الأمثلة. سنقيس الوقت بالسنوات، وكمية التعليمات البرمجية بآلاف الأسطر. ثم ل كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ قيم ترتيب العشرات مقبولة، وسوف نأخذ 50 و 100. أي أنه في غضون عام سيكتب فريق التطوير خمسين ومائة ألف سطر من التعليمات البرمجية، على التوالي. ل كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ القيم المقبولة قد تكون: كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟, كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟, كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟. وهذا يعني أن فريق التطوير يمكنه دعم كمية التعليمات البرمجية التي يكتبها خلال عام، سواء كان ذلك لمدة ربع سنة أو نصف أو بدوام كامل. كمتوسط ​​عمر الكود، سنضع القيم التالية: 1، 2، 4 سنوات. وبحل المعادلة عدديا نحصل على أمثلة لسلوك الدالة كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ لبعض مجموعات المعلمات كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟.
كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟
سلوك الوظيفة كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ مع تقدم الكود، فقد تغير. ولم تعد الوظيفة رتيبة، بل "تهدأ" التقلبات مع مرور الوقت، وهناك ميل إلى كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ إلى بعض القيمة الثابتة. تظهر الرسوم البيانية: أكثر كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟, كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ и كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟أي أنه كلما كان عمر التعليمات البرمجية أبطأ، كلما كان تطوير تعليمات برمجية جديدة أسرع، وانخفضت جودة التعليمات البرمجية، وقل عدد الموارد المتبقية لتطوير وظائف جديدة. وكانت هناك رغبة في إعطاء مثال واحد على الأقل فيه كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ "متحاضن" بالقرب من الصفر. لكن هذا يتطلب اختيار مؤشرات جودة تطوير سيئة للغاية ورمز لا يتقادم لفترة طويلة. وحتى في الرسم البياني السفلي الأيسر، يظل هناك قدر كبير من الموارد للوظيفة الجديدة. لذلك، فإن الإجابة الصحيحة على السؤال الأول هي بالأحرى: من الناحية النظرية - نعم، من الممكن؛ عمليا - بالكاد.

أسئلة لم أستطع الإجابة عليها:

  1. هل صحيح أن كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ يميل إلى حد ما في كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ للجميع كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟؟ إذا لم يكن للجميع، إذن لأي منهم؟
  2. إذا كان هناك حد، فكيف تعتمد قيمته كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟?

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

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

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

اجعل دعم التعليمات البرمجية مشغولاً كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ المبرمجين. مع الأخذ في الاعتبار رمز الشيخوخة،

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

من أين

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

إذا كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟ثم

كم عدد المبرمجين اللازم للحفاظ على التعليمات البرمجية المكتوبة مسبقًا؟

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

اختتام

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

مراجع

1. إلسجولتس إل إي، نوركين إس.بي. مقدمة لنظرية المعادلات التفاضلية ذات الحجج المنحرفة. موسكو. دار النشر "العلم". 1971.
2. أرنولد ف. النماذج الرياضية "الصعبة" و"الناعمة". موسكو. دار النشر MCNMO. 2004.

المصدر: www.habr.com

إضافة تعليق