المواصفات القياسية للكود وضع مواصفات قياسية لكتابة الكود

الناقل : elmasry | الكاتب الأصلى : محمد حمود | المصدر : www.arabteam2000-forum.com

يقضي المبرمجون وقتاً طويلاً في كتابة الكود، ويجب أن لايقوم كود معين بأداء العملية المطلوبة منه بشكل صحيح وبدون أخطاء فقط، بل يجب أن يكون هذا الكود سهلاً للفهم وقابلاً للإضافة والإصلاح واكتشاف الأخطاء.

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

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

أمثلة على المواصفات القياسية التي يمكن وضعها للكود:

1- استخدم أسماء انكليزية لكتابة المتغيرات، واستخدم الأحرف الصغيرة فقط في اسم المتغير واستخدم الرمز "_" في حال كان اسم المتغير مكوناً من أكثر من كلمة:

'مقبول:
Dim employee_age as integer

'غير مقبول:
Dim EmployeeAge as integer

Dim Omr_Al_Mowazaf as integer


2- في عبارات sql استخدم الأحرف الكبيرة للكلمات المفتاحية:

'مقبول
sql="SELECT * FROM my_table"

'غير مقبول
sql="select * from my_table"


بنفس الطريقة يمكن وضع مواصفات قياسية لكل شيء من تسمية الجداول والحقول في قواعد البيانات، إلى اسماء الكائنات والفئات (classes) وطريقة استخدام التوابع (functions) وحتى شكل الواجهة وأبعاد الأزرار وألوان الأدوات ونوع الخط المستخدم وأحجامه ومكتبة الأيقونات والمؤشرات التي يجب استخدامها...

يمكنكم الاطلاع على المواصفات القياسية لكتابة الكود في مشروع منتدى phpbb الشهير مفتوح المصدر والذي يتشارك في كتابته عدد كبير من المبرمجين من أنحاء العالم:
http://area51.phpbb....guidelines.html

والآن شاركونا النقاش، هل لدى المؤسسة التي تعملون بها مواصفات قياسية لكتابة الكود؟ وماهي؟