القائمة الرئيسية

الصفحات

اهم 10 ملاحظات لكتابه كود نظيف في لغه سي شارب الجزء 1



واحده من أهم المهارات المطلوبه في ٢٠٢٣ هي كتابه كود نظيف وسهل في تتبعه و قراءته وذلك لتسهيل عمليات الصيانه والتعديل والتوسع من خلال فريق العمل وكذلك سهوله نقله والعمل عليه في المشاريع الأخرى. ويوجد العديد من المحددات التي يمكن اخذها في الاعتبار ومنها المتغيرات والطرق و الفئات والانواع اثناء كتابه كود سي شارب

 
النقاط الرئيسية  فى هذا المقال
1. استخدام اسماء متغيرات واضحه وسهله التذكر
2. استخدام اسماء المتغيرات بنفس مدلول البنيه الداخلية
3. استخدام اسماء قابله للبحث 
4.  لا تكرر اسماء المتغيرات والدوال
5. اجعل وصفك لأسماء المتغيرات شديد الدقه

الان انت تستطيع أن تكتب كود نظيف (مثل المبرمجين المحترفين) سهل القراءه والفهم من خلال الآخرين في فريقك اذا راعيت اهم النقاط الاساسيه وهي كالتالي

استخدام اسماء متغيرات واضحه وسهله التذكر

من أكثر الممارسات الخاطئ ان يريد مطور دوت نت كتابه المصطلحات بطريقه معقده مثل المحترفين لكن الحقيقه انه يقع في أخطاء عندما لا يكون ذلك ضروري
ولذلك عند التصريح عن متغير يجب كتابة اسم منطقي  بطريقه سهلة النطق والتذاكر كالمثال التالي

اسلوب خاطئ
    
 var yyyymmdstr = DateTime.Now.ToString("YYYY/MM/DD");
               
اسلوب صحيح

 var currentDate = DateTime.Now.ToString("YYYY/MM/DD");
        

عندما يكون المشروع كبيرا يصبح عدد المتغيرات كثير جدا لدرجه انه عند  فتحه بعد فتره قد لا تستطيع قرائته وفهم ماذا يفعل هذا الجزء من الكود 

استخدام اسماء المتغيرات بنفس مدلول البنيه الداخلية

يجب دائما البحث عن أسهل وابسط تعبير عن الكلمه  وليس المرادفات 
هذا المثال يبين المرادفات المختلفه لنفس المصطلح والتى يمكن ان يؤدي استخدامها الي حدوث تشتت في فهم الكود سواء للمبرمج او الفريق الذي يجب عليه قرائة الكود لفهمه 


اسلوب خاطئ

    getProdInfo(); 
    loadProductRecord(); 
    getProductData();
        
اسلوب صحيح

    getProducts();
        

استخدام اسماء قابله للبحث 

وهذا يجعل من السهل البحث عن الكود وفهمة حتى لا تتعرض لنسيان اماكن الاكواد وفى النهاية لا يمكنك العثور عليه

اسلوب خاطئ 


    // In the future we will not remember what 86400000 means.
    clearBacklog(backlog, 86400000); 
        

اسلوب صحيح

    // Declare constants with a searchable name
    var MILLISECONDS_PER_DAY = 60 * 60 * 24 * 1000; //86400000;

    clearBacklog(backlog, MILLISECONDS_PER_DAY); 
        

هذة النقاط الصغيرة ستوفر لنا ساعات عديدة من البحث  وتذكر دائما انه كلما كان الكود اسهل فى القراءة كان افضل للجميع


 لا تكرر اسماء المتغيرات والدوال


ان عدم بذل مجهود بسيط لمراعاه عدم تكرار الاسماء سيجعلنا على المدى الطويل نملك كود سئ جدا لانه سيكون ملئ بالتكرار

اسلوب خاطئ

  Bike MountainBike = new(){
   bikeBrand = "Trek",
   bikeModel = "MX Mountain",
   bikeColor = "Green"
 };

 void paintBike(Bike mountainBike, string color){
     mountainBike.bikeColor = color;
 } 
        

اسلوب صحيح


 Bike MountainBike = new(){
   brand = "Trek",
   model = "MX Mountain",
   color = "Green"
 };

 void paintBike(Bike mountainBike, string color){
     mountainBike.color = color;
 }    
        


كما نرى انه بهذة الطريقه اخذنا وقت اقل فى التفكير ثم الكتابة 

اجعل وصفك لأسماء المتغيرات شديد الدقه

من الاخطاء الشائعه ان بقوم المبرمج بارسال الدوال مباشرة ك بارامتر الى دوال اخرى

اسبوب خاطئ

 const address = "One st, ALAlamia 506070";
 var cityZipCodeRegex = new Regex(@"/ ^[^,\\] +[,\\\s] + (.+?)\s * (\d{ 5 })?$/").Matches(address);
 saveCityZipCode(
   cityZipCodeRegex[0].Value,
   cityZipCodeRegex[1].Value
 );    
        

اسلوب صحيح

 var address = "One st, ALAlamia 506070";
 var cityZipCodeRegex = new Regex(@"/ ^[^,\\] +[,\\\s] + (.+?)\s * (\d{ 5 })?$/").Matches(address);
 var city = cityZipCodeRegex[0].Value;
 var zipCode = cityZipCodeRegex[1].Value;
 saveCityZipCode(city, zipCode);     
        

وفى نهاية الجزء الاول يتضح ان كتاية كود نظيف هي مهارة كتابة كود يتسم بالترتيب والتنظيم والبساطة والوضوح مما يجعله اكثر قابلية للصيانه والتعديل والتوسيع 
يتبع 

تعليقات