If you do not find what you're looking for, you can use more accurate words.
لكل نهج في عملية تطوير البرامج، يجب على البرنامج النهائي أن يحقق خصائص جوهرية، مثل:
في علم الحاسوب، القدرة على القراءة تشير إلى مدى السهولة التي يحتاجها قارئ بشري لفهم هدف، التحكم في تدفق، وعملية الشيفرة المصدرية. تؤثر على جوانب الجودة المذكورة في الأعلى، بما في ذلك القابلية للنقل، الصلاحية، والأهم القابلية للصيانة.
تعتبر سهولة القراءة مهمة لأن المبرمجين يقضون معظم وقتهم في القراءة في محاولة لفهم وتعديل التعليمات البرمجية المصدر الموجودة بدلاً من كتابة شفرة مصدر جديدة. غالبًا ما تؤدي الشفرة غير القابلة للقراءة إلى الأخطاء وعدم الكفاءة والرموز المكررة. وجدت دراسة أن بعض التحولات البسيطة في قابلية القراءة جعلت الشفرة أقصر وقللت بشكل كبير من الوقت لفهمها.
اتباع أسلوب برمجة ثابت يساعد غالبًا على القراءة. ومع ذلك فإن القراءة أكثر من مجرد أسلوب البرمجة. هناك العديد من العوامل التي لها علاقة قليلة أو لا علاقة لها بقدرة الكمبيوتر على ترجمة التعليمات البرمجية وتنفيذها بكفاءة تساهم في سهولة القراءة.
بعض هذه العوامل تشمل:
من العوامل التي تؤثر على القدرة على القراءة:
غالبًا ما تتم معالجة جوانب العرض التقديمي الخاصة بهذا (مثل المسافات البادئة وفواصل الأسطر وتمييز اللون وما إلى ذلك) بواسطة محرر التعليمات البرمجية المصدر لكن جانب المحتوى يعكس موهبة ومهارات المبرمج.
كما تم تطوير لغات البرمجة المرئية المختلفة بهدف حل مخاوف قابلية القراءة من خلال تبني طرق غير تقليدية لهيكلة الشفرة وعرضها. تهدف بيئات التطوير المتكاملة (IDEs) إلى دمج كل هذه المساعدات. تقنيات مثل refactoring Code يمكن أن تعزز قابلية القراءة بشكل كبير.
يهتم المجال الأكاديمي والممارسة الهندسية لبرمجة الكمبيوتر إلى حد كبير باكتشاف وتنفيذ الخوارزميات الأكثر كفاءة لفئة معينة من المشكلات.
لهذا الغرض يتم تصنيف الخوارزميات في أوامر باستخدام ما يسمى Big O notation والذي يعبر عن استخدام الموارد مثل وقت التنفيذ أو استهلاك الذاكرة من حيث حجم المدخلات. المبرمجين الخبراء على دراية بمجموعة متنوعة من الخوارزميات الراسخة والتعقيدات الخاصة بكل منها ويستخدمون هذه المعرفة لاختيار الخوارزميات الأكثر ملاءمة للظروف.
كانت "برمجة كمبيوتر للعب الشطرنج" في سنة 1950 عبارة عن ورقة تحمل خوارزمية "minimax" والتي هي جزء من تاريخ الخوارزميات المعقدة.
دورة "IBM Deep Blue" (شطرنج الحواسيب) هي جزء من البرنامج التعليمي لشعبة علوم الحاسوب بجامعة ستانفورد.
الخطوة الأولى في معظم عمليات تطوير البرمجيات الرسمية هي تحليل المتطلبات يليه اختبار لتحديد نمذجة القيمة والتنفيذ وإزالة الأعطال (تصحيح الأخطاء(Debugging)). هناك الكثير من الأساليب المختلفة لكل مهمة من هذه المهام. أحد الأساليب الشائعة لتحليل المتطلبات هو استخدام تحليل الحالة. يستخدم العديد من المبرمجين أشكالًا لتطوير برامج Agile حيث يتم دمج المراحل المختلفة لتطوير البرامج الرسمية معًا في دورات قصيرة تستغرق عدة أسابيع بدلاً من سنوات. هناك العديد من الطرق لعملية تطوير البرمجيات.
تتضمن تقنيات النمذجة الشائعة التحاليل والتصاميم الخاصة بالتوجيه الكائناتي ( OOAD ) أو الهندسة القائمة على النماذج ( MDA ).
لغة النمذجة الموحدة ( UML ) هي ترميز يستخدم لكل من OOAD و MDA.
من الصعب جدًا تحديد أكثر لغات البرمجة الحديثة شيوعًا. تتضمن طرق قياس شعبية لغة البرمجة ما يلي: حساب عدد إعلانات الوظائف التي تذكر اللغة عدد الكتب المباعة والدورات التعليمية التي تدرس اللغة (هذا يبالغ في تقدير أهمية اللغات الأحدث) وتقديرات عدد الخطوط الحالية من الشفرة المكتوبة باللغة (هذا يقلل من عدد مستخدمي لغات العمل مثل COBOL).
تحظى بعض اللغات بشعبية كبيرة لأنواع معينة من التطبيقات بينما تستخدم بعض اللغات بانتظام لكتابة العديد من أنواع التطبيقات المختلفة. على سبيل المثال لا يزال COBOL قويًا في مراكز بيانات الشركات غالبًا على أجهزة الكمبيوتر الكبيرة و Fortran في التطبيقات الهندسية ولغات البرمجة النصية في تطوير الويب و C في البرامج المدمجة. تستخدم العديد من التطبيقات مزيجًا من عدة لغات في بنائها واستخدامها. يتم تصميم اللغات الجديدة عمومًا حول لغة سابقة مع إضافة وظيفة جديدة (على سبيل المثال يضيف C ++ اتجاه الكائناتي (OPP) إلى C ويضيف Java إدارة الذاكرة والرمز الثانوي إلى C ++ ونتيجة لذلك يفقد الكفاءة والقدرة على التلاعب بالبيانات على مستوى منخفض )
تعد عملية تصحيح الأخطاء مهمة للغاية في عملية تطوير البرامج حيث أن وجود عيوب في أحد البرامج قد يكون له عواقب وخيمة على مستخدميه. تكون بعض اللغات أكثر عرضة لبعض أنواع الأخطاء لأن مواصفاتها لا تتطلب من المترجمين(compilers) أن يقوموا بالتحقق على قدر اللغات الأخرى. يمكن أن يساعد استخدام أداة تحليل الشفرة الثابتة في اكتشاف بعض المشكلات المحتملة. عادةً ما تكون الخطوة الأولى في تصحيح الأخطاء هي محاولة إعادة إنشاء المشكلة. قد تكون هذه مهمة غير تافهة على سبيل المثال مع العمليات المتوازية أو بعض الأخطاء البرمجية غير المعتادة. أيضًا يمكن أن تجعل بيئة المستخدم ومحفوظات الاستخدام من الصعب إعادة إنتاج المشكلة.
بعد إعادة إنتاج الخلل قد يحتاج الأمر إلى تبسيط إدخال البرنامج لتسهيل تصحيحه. على سبيل المثال يمكن أن يؤدي وجود خطأ في برنامج التحويل البرمجي إلى تعطله عند تحليل بعض ملفات المصدر الكبيرة. ومع ذلك بعد تبسيط حالة الاختبار يمكن أن تكون الأسطر القليلة فقط من الملف المصدر الأصلي كافية لإعادة إنتاج نفس التعطل. يمكن إجراء هذا التبسيط يدويًا باستخدام نهج الفجوة والقهر. سيحاول المبرمج إزالة بعض أجزاء حالة الاختبار الأصلية والتحقق من استمرار المشكلة. عند تصحيح المشكلة في واجهة المستخدم الرسومية يمكن للمبرمج محاولة تخطي بعض تفاعلات المستخدم من وصف المشكلة الأصلي ومعرفة ما إذا كانت الإجراءات المتبقية كافية لظهور الأخطاء.
غالبًا ما يتم تصحيح الأخطاء باستخدام بيئة تطوير متكاملة مثل إكليبس و Visual Studio و إكس كود و Kdevelop و NetBeans و Code :: Blocks. يتم استخدام مصححات الأخطاء المستقلة مثل GDB أيضًا وغالبًا ما توفر هذه الأجهزة بيئة بصرية أقل وعادة ما تستخدم سطر أوامر. تسمح بعض برامج تحرير النصوص مثل Emacs باستدعاء GDB من خلالهم لتوفير بيئة بصرية.