الكود النظيف: خمس نقاط رئيسية من كتاب يجب قراءته للمبرمجين

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





عن الكتاب



« » 2008 , Amazon. , « », Agile Manifesto . 4,4 Goodreads 13 000 . , , .



.



1. —



, — . , ( ) .



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



هذا هو الجوهر الرئيسي لـ "الكود النظيف". في جميع أنحاء الكتاب ، يتابع المؤلف فكرة أن البرمجيات هي فن وشبيه بالرسم. 



كود جميل. المصدر: xkcd

لكن كيف تنتقل من كتابة كود بسيط إلى فن البرمجة؟



وفقًا لمارتن ، فإن الأدوات الرئيسية المتاحة لنا هي إعادة البناء المستمر والتطوير القائم على الاختبار (TDD). لا ينفصلان عن بعضهما البعض ، مثل وجهي العملة. فيما يلي بعض التعاريف.



— .



— , , .



, .



  1. . , .
  2. , . .
  3. . . 


« , « ». , «», , . ». 



, , , , — , , .



2. !



« — . , ». 



.

, .



  1. — 20 10 .
  2. , .


. , .



. . (SRP).



— « » , . , , , .



3.



« ». 



.

, , , . :





:





:



  • .
  • .
  • , .
  • , .


« » , , ,



.



  • استخدم الأسماء التي تكشف النية - على سبيل المثال ، int elapsedTimeInDays ، وليس int الأيام ...
  • استخدم الأسماء القابلة للنطق - على سبيل المثال العميل ، وليس DtaRcrd102
  • تجنب الترميزات - لا تستخدم البادئة m_ ولا تستخدم الترميز المجري .
  • اختر كلمة واحدة لكل مفهوم - لا تستخدم أسماء مختلفة مثل الجلب والاسترداد والحصول على نفس العملية في الجوهر.


4. التجريد مهم



التجريد. المصدر: Abstruse Goose

وفقًا لـ Clean Code ، إذا أردنا التأكد من أن وظائفنا تؤدي مهمة واحدة فقط ، فنحن بحاجة إلى التأكد من أن جميع الأوامر في كل وظيفة في نفس مستوى التجريد.



يوضح مارتن هذا بالمثال التالي من FitNesse :





. — hr , — . , , :





:



  • render () hr.
  • HtmlTag.
  • .


:



« ».



.



5. —



, , , , . , . 



, , , , . « », , « , ».



« . , . , ». 



.

,  , , . , , — . , — .





« » , . , , — , .



  , ,   . , , 13 , . , , , « », 2021 . , .



P.s. Zack Shapiro



. , , – .






All Articles