19-05-2024, 09:10 AM
رحلة في عالم البرمجة: إتقان أساسيات البرمجة وتطبيقاتها باستخدام لغة C++
https://www.youtube.com/playlist?list=PL...qaKxmAKHrq
# الفصل 0 : تمهيد
سلامة النوع - Type safety.
كل كائن يتم تعيينه نوعًا عند تعريفه، وهذا النوع لا يتغير أبدًا.
يكون البرنامج - أو جزء من البرنامج - آمنًا من النوع عند استخدام جميع الكائنات وفقًا لقواعد نوعها.
يعتبر الأمان التام من النوع المثالي والقاعدة العامة للغة.
للأسف، لا يمكن لمترجم C++ بمفرده ضمان الأمان التام من النوع للكود التعسفي، لذا يجب علينا تجنب التقنيات غير الآمنة.
أي أنه يجب علينا الامتثال لبعض قواعد البرمجة لتحقيق الأمان من النوع.
هناك طرق لفرض هذه القواعد، ولكن تاريخيًا، اعتبرت هذه القواعد محدودة بشكل زائد ولم يتم فرضها بشكل منتظم.
نظرًا للاعتماد على الإصدارات القديمة من C++ (قبل المعايير الحديثة لـ ISO C++) والتقنيات المعتمدة من لغة C، كان ذلك لا مفر منه ولذلك ليس غير معقول.
ومع ذلك، عند استخدام C++ الحديثة وأدوات التحليل الحديثة، يمكن التحقق من أمان النوع لمعظم استخدامات C++.
الهدف هو أبدًا استخدام ميزات اللغة التي لا يمكن إثبات سلامتها من النوع قبل بدء تنفيذ البرنامج: الأمان الثابت من النوع.
باستثناء الكود المستخدم بوضوح لتوضيح التقنيات غير الآمنة، يتبع إرشادات نواة C++ [CG] وقد تم التحقق من أمان النوع.
الهدف من الأمان من النوع مهم للغاية عند كتابة الكود الموثوق به.
لهذا السبب نقضي وقتًا على ذلك.
يرجى ملاحظة المصائد وتجنبها.
إذا لم تفعل ذلك، فستواجه الكثير من الإحباط وسيحتوي الكود الخاص بك على العديد من الأخطاء الغامضة.
على سبيل المثال، استخدام متغير غير مبتدئ ليس من الأمان من النوع:
قم دائمًا بتهيئة متغيراتك! يمكن للتنفيذات تنفيذ هذه القاعدة بسهولة، ولكن لسوء الحظ عادةً ما لا يفعلون ذلك افتراضيًا. باستثناء، لحسن الحظ، لأنواع مثل السلسلة والفكتور حيث يتم ضمان التهيئة الافتراضية.
اكتشف كيفية تمكين التحذيرات (غالبًا بخيار المترجم -Wall) (often a -Wall compiler option) والالتزام بها. فعل ذلك سيوفر لك الكثير من العناء.
تأتي تنفيذات C++ الحديثة أيضًا مع أدوات تحليل ثابتة مهمة تسمح لنا بمنع المشاكل الأكثر دقة.
يستخدم المحترفون مثل هذه الأدوات بشكل واسع، وسوف تستخدمها أيضًا إذا أصبحت أو تهدف لتصبح محترفًا، ولكن في هذه المرحلة الأولية من التعلم، اتبع فقط القواعد والأساليب المستخدمة.
https://www.youtube.com/playlist?list=PL...qaKxmAKHrq
# الفصل 0 : تمهيد
- 0.1 تعلم البرمجة من خلال التطبيق: بناء أكواد جميلة وفعالة
- 0.2 صقل مهاراتك في البرمجة: التمارين والاختبارات والمشاريع المشتركة
- 0.3 بعد هذه السلسلة: رحلتك نحو إتقان البرمجة
- 0.4 رحلتك في البرمجة: نصائح وتشجيع
- 1.0 مقدمة الفصل 1 : مرحبا بالعالم !
- 1.1 البرامج - Programs
- 1.2 تشغيل و Compile برنامج C++ الأول الخاص بك على نظام التشغيل Windows
- G00d Premium F0nt 4 c0ding M0n0L1sa
- How to instalԼ EmꞴarcadero ЯAD StuĐio 12.1 AtԨens ArꞆhitect V€rsion 29.0.51961.7529 U
- TutoЯial Ԩow instalԼ and activaԷe CLioЍ
- 1.3 ما هو ال preprocess ؟ وما هو ال assemble ؟ وما هو ال compile ؟ وما هو ال linking؟
- 1.4 البرنامج C++ الأول الكلاسيكي - تفسير دقيق بناء ركيزه البرمجه
- 1.5 التجميع - Compilation - فهم التعامل مع Compiler
- 1.6 استكشاف الlinking من الداخل بشكل عميق مع النوعين static و dynamic
- 1.7 مراجعة وتمارين الفصل الأول
- 2.1 الإدخال- input
- 2.2 المتغيرات - variables
- 2.3 المدخلات والنوع - Input and type
- 2.4 العمليات Operations والمشغلات operators
- 2.5 الAssignment والInitialization
- 2.6 تمرين عملي - اكتشاف الكلمات المتكررة
- 2.7 العمليات المركبة للoperators
- إنشاء برامج x86 أو x64 باستخدام MinGW وCLion
- 2.8 أسماء في C++ - Names
- 2.9 أنواع وكائنات - Types and objects
- 2.10 سلامة النوع - Type safety
سلامة النوع - Type safety.
كل كائن يتم تعيينه نوعًا عند تعريفه، وهذا النوع لا يتغير أبدًا.
يكون البرنامج - أو جزء من البرنامج - آمنًا من النوع عند استخدام جميع الكائنات وفقًا لقواعد نوعها.
يعتبر الأمان التام من النوع المثالي والقاعدة العامة للغة.
للأسف، لا يمكن لمترجم C++ بمفرده ضمان الأمان التام من النوع للكود التعسفي، لذا يجب علينا تجنب التقنيات غير الآمنة.
أي أنه يجب علينا الامتثال لبعض قواعد البرمجة لتحقيق الأمان من النوع.
هناك طرق لفرض هذه القواعد، ولكن تاريخيًا، اعتبرت هذه القواعد محدودة بشكل زائد ولم يتم فرضها بشكل منتظم.
نظرًا للاعتماد على الإصدارات القديمة من C++ (قبل المعايير الحديثة لـ ISO C++) والتقنيات المعتمدة من لغة C، كان ذلك لا مفر منه ولذلك ليس غير معقول.
ومع ذلك، عند استخدام C++ الحديثة وأدوات التحليل الحديثة، يمكن التحقق من أمان النوع لمعظم استخدامات C++.
الهدف هو أبدًا استخدام ميزات اللغة التي لا يمكن إثبات سلامتها من النوع قبل بدء تنفيذ البرنامج: الأمان الثابت من النوع.
باستثناء الكود المستخدم بوضوح لتوضيح التقنيات غير الآمنة، يتبع إرشادات نواة C++ [CG] وقد تم التحقق من أمان النوع.
الهدف من الأمان من النوع مهم للغاية عند كتابة الكود الموثوق به.
لهذا السبب نقضي وقتًا على ذلك.
يرجى ملاحظة المصائد وتجنبها.
إذا لم تفعل ذلك، فستواجه الكثير من الإحباط وسيحتوي الكود الخاص بك على العديد من الأخطاء الغامضة.
على سبيل المثال، استخدام متغير غير مبتدئ ليس من الأمان من النوع:
int main()
{
double x; // we "forgot" to initialize: the value of x is undefined
double y = x; // the value of y is undefined
double z = 2.0+x; // the meaning of + and the value of z are undefined
}
قم دائمًا بتهيئة متغيراتك! يمكن للتنفيذات تنفيذ هذه القاعدة بسهولة، ولكن لسوء الحظ عادةً ما لا يفعلون ذلك افتراضيًا. باستثناء، لحسن الحظ، لأنواع مثل السلسلة والفكتور حيث يتم ضمان التهيئة الافتراضية.
اكتشف كيفية تمكين التحذيرات (غالبًا بخيار المترجم -Wall) (often a -Wall compiler option) والالتزام بها. فعل ذلك سيوفر لك الكثير من العناء.
تأتي تنفيذات C++ الحديثة أيضًا مع أدوات تحليل ثابتة مهمة تسمح لنا بمنع المشاكل الأكثر دقة.
يستخدم المحترفون مثل هذه الأدوات بشكل واسع، وسوف تستخدمها أيضًا إذا أصبحت أو تهدف لتصبح محترفًا، ولكن في هذه المرحلة الأولية من التعلم، اتبع فقط القواعد والأساليب المستخدمة.