دائما ما نتعامل مع أكواد يكتبها المبرمجين الآخرين…
وعلى الأغلب عندما تكتب كودك أنت وترجع إليه بعد شهر، قد لا تعرف ماهي فائدة الكود
في رأيك، ماهي معايير الكود الجيد؟
دائما ما نتعامل مع أكواد يكتبها المبرمجين الآخرين…
وعلى الأغلب عندما تكتب كودك أنت وترجع إليه بعد شهر، قد لا تعرف ماهي فائدة الكود
في رأيك، ماهي معايير الكود الجيد؟
هل هو اتباع الsyntax أو اتباع المبرمجين المحترفين في طريقة كتابتهم للأكواد ؟
السلام عليكم
سأذكر على السريع بعض النقاط التي أراها ضرورية عند كتابة الأكواد:
دعم الكود بتعليقات تشرح فيها وظيفة كل جزئية block ( ما الذي يغطيه هذا الكود وماهو الغرض من استخدامه)
كتابة الاكواد بشكل منظم ومرتب بحيث يكون سهل قراءته ومراجعته من طرف صاحب الكود أو مبرمج آخر مثل indentation
// Not recommended
for (star of stars) {
if (star.style.display !== 'none') {
star.style.display = 'none';
break;
}}
// Recommended
for (star of stars) {
if (star.style.display !== 'none') {
star.style.display = 'none';
break;
}
}
والفاصلة المنقوطة بالنسبة للجافاسكريبت مثلا، لأننا نعلم ان في الجافاسكريبت حتى وان نسينا كتابة الفاصلة المنقوطة فالتطبيق يشتغل بشكل عادي، لكن من الأحسن عدم نسيانها لابراز نهاية كل أمر.
من الأحسن أن نختار نوع واحد فقط من علامات التنصيص مثلا نستعمل في كل الكود اما علامات التنصيص الفردية او الزوجية.
اعطاء اسماء للمتغيرات والدوال واضحة ومفهومة وسهلة القراءة بالنسبة للانسان. مع الاخذ بعين الاعتبار الـ style الافتراضي المتوافق عليه على حسب اللغة، فمثلا بالنسبة للجافاسكريبت اعطاء تسمية لمتغير او دالة تتكون من كلمتين نستعمل camelCase
وبالنسبة للبايثون نستعمل under_score
// JS
// Not recommended
const firstname = 'Lara';
// Recommended
const firstName = 'Lara';
// Python
// Not recommended
firstname = 'Lara';
// Recommended
first_name = 'Lara';
من بين الأمور المهمة أيضا في كتابة الكود وفهمه عند العودة إليه بعد مدة هي كتابة تعليقات تشرح ما يقوم به جزء معين من الكود، وفي أغلب الأحيان نهمل هذه النقطة.
السلام عليكم و رحمة الله تعالى و بركاته
شكرا استاذ على اثارة النقاش حول هذا الموضوع المهم جدا جدا خاصة مع البرامج مفتوحة المصدر لأننا نلجأ كثيرا لأكواد الآخرين لحل الكثير من الإشكالات التي تواجهنا، اما بالنسبة للكود الجيد فانا سانقل لكم رأي احد خبراء البرمجة قال لي مرة أن الكود الجيد يتلخص في ثلاث نقاط:
بصراحة أضفتو نقاط رائعة،
أود إثارة شيء مهم أيضا وهو code algorithm
مؤخرا قرأت الكثير من الأكواد معاد صياغتها بشكل معقد، لكن تأخذ فقط سطور قليلة جدا (ما يجعلها أسهل في القراءة والdebug)
المثال التالي قد يقرب الصورة:
https://khan4019.github.io/front-end-Interview-Questions/sort.html
اقتناعي الشخصي يقول: “إذا كنت قويا في الـalgorithms >> زادت فرصتي في التعامل مع أي لغة برمجة بسهولة”
ولكن مع الأسف، لست قويا في كتابة أكواد معقدة بهذا الشكل!
جميع ما أفدتم به هو عين الصواب…
شكرا لكم جميعا لارا @L.Da، فتحي @TChiOfficiel، اسماعيل @makhlouf، ونصر @sniperadmin
لا تقلق، أمور الـ algorithms & data structures ليست كل شيء (مع أنك ستسمع الكثير من الناس يقولوا أنها الأساس للـ Computer Science)، نعم هي مهمة لكنها ليست كل شيء
keep it super simple