تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
Perfect Code 1
#1
بسم الله الرحمن الرحيم

Perfect Code



- تعني البرمجة بعبارات مفهومة وبأقل اسطر ممكنة والاستفادة القصوى من المميزات التي توفرها لك اللغة التي تبرمج بها.
فلو قمنا بطرح السؤال التالي: قم بكتابة دالة لمعرفة هل أن العدد الممرّر للدالة زوجي أم لا؟

هناك عدة سيناريوهات سيتبادر الى ذهن الشخص الذي سيقوم بكتابة هذه الدالة من المستوى المبتدأ الى المستوى المتقدم.

فمن الممكن كتابة الدالة بهذا الشكل:


PHP كود :
public bool IsEvenNumber(int number)
 
      {
 
          // Scenario #1
 
          if (number == 0)
 
          {
 
              return true;
 
          }
 
          else
 
          {
 
              return false;
 
          }
 
      

الحل اعلاه صحيح لكن ليس Perfect Code من ناحية المحتوى. لكن تصريح الدالة وطريقة تعريفها مع القيمة الممررة هي Perfect Code لانها تدل على المحتوى. وايضا الدالة يجب ان تؤدي مهمة واحدة حسب المبدأ الأول من مبادئ الـ SOLID ،وايضا اسم الدالة هي PascalCase وهي المستخدمة في طريقة كتابة اسم الدالة في لغة C#.NET ،والقيمة الممررة تم كتابتها على اساس camelCase وهي الطريقة المتبعة لكيفية كتابة الباراميترات والمتغيرات.


طريقة الحل الثانية:
PHP كود :
public bool IsEvenNumber(int number)
 
      {
 
          // Scenario #2
 
          if (number == 0)
 
          {
 
              return true;
 
          }
 
          return false;
 
      

ايضا الحل صحيح يكن لازال ليس Perfect Code.


طريقة الحل الثالثة:
PHP كود :
public bool IsEvenNumber(int number)
 
      {
 
          // Scenario #3
 
          return number == true false;
 
      

ايضا الحل صحيح


الطريقة الرابعة:
PHP كود :
public bool IsEvenNumber(int number)
 
      {
 
          // Scenario #4
 
          return number == 0;
 
      

هنا تقريبا وصلنا الى الحل الامثل بحيث لا نحتاج ان نرجع True or False لان الناتج هي بحد ذاتها قيمة بوليانية حيث سيتم ارجاع الناتج المستخلص من المعادلة.

الطريقة الاخيرة:
PHP كود :
// Scenario #5
 
      public bool IsEvenNumber(int number) => number == 0


الحل الاخير يعتبر مستوفيا لشروط الكود الأمثل Perfect Code حيث يعتبر الحل الامثل بحيث تم الاستفادة القصوى للمميزات التي توفرها اللغة كما استوفت شروط الـ Clean Code من حيث طريقة كتابة اسم الدالة وبقية الامور التي تم ذكرها سابقا.


تحياتي لكم 
الرد }}}


الردود في هذا الموضوع
Perfect Code 1 - بواسطة Sajad - 08-02-19, 09:53 PM
RE: Perfect Cdoe - بواسطة حريف برمجة - 08-02-19, 11:41 PM
RE: Perfect Cdoe 1 - بواسطة Anas Mahmoud - 25-09-20, 01:04 AM
RE: Perfect Cdoe 1 - بواسطة bfdnfh - 18-03-21, 12:39 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  Dapper Code Builder Sample khodor1985 3 4,341 18-03-21, 12:39 AM
آخر رد: bfdnfh
  Perfect Code 2 Sajad 2 2,647 11-02-19, 04:26 AM
آخر رد: حريف برمجة
  Tips for clean code #3 Sajad 3 2,921 25-11-17, 12:35 AM
آخر رد: قاسم
  Tips for clean code #2 Sajad 1 2,445 21-11-17, 05:42 PM
آخر رد: قاسم
  Tips for clean code #1 Sajad 2 2,670 06-11-17, 03:07 AM
آخر رد: قاسم
  Entity Framework Code First Abu Ehab 1 2,768 10-06-17, 03:39 PM
آخر رد: sendbad100

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم