مرحبًا بالجميع في مجتمع CodeGym! سنتحدث اليوم عن جودة الكود. نعم أيها الأصدقاء الأعزاء. لا أحد كامل. يدرك الجميع في مرحلة ما أن الكود يمكن أن يكون أفضل... ولكن ماذا تفعل في هذه الحالة؟ على الأقل، ابدأ بالبحث في هذه المشكلة. لكنك هنا بالفعل، مما يعني أن الموضوع يجب أن يثير اهتمامك، فلنذهب. سنصف اليوم الطرق التي يمكنك من خلالها تحسين التعليمات البرمجية الخاصة بك وجعلها أكثر وضوحًا. لذلك لن تخجل من الكود الحالي الخاص بك في المستقبل! :) كل هذه الأساليب ستساعد المبرمج على أن يصبح مبرمجًا جيدًا.
1. إذا كنت ترغب في تحسين التعليمات البرمجية الخاصة بك، فاقرأ التعليمات البرمجية الخاصة بشخص آخر
إذا كنت ترغب في تحسين مهاراتك في البرمجة بشكل كبير، فأنت بحاجة إلى قراءة التعليمات البرمجية المكتوبة بواسطة مبرمجين آخرين. صدقني أو لا تصدق. ولكن إذا خاطرت، أعدك: سوف تتم مكافأتك على الوقت الذي تقضيه. على سبيل المثال، لا تقرأ على موقع Medium.com عن كيفية عمل HashMap وArrayList وLinkedList وما إلى ذلك. بدلاً من ذلك، اقرأ الكود المصدري الخاص بهم واكتشفه بنفسك. فيما يلي قائمة بالفصول التي يجب قراءتها:- الأسئلة الأكثر شيوعًا في المقابلات تتعلق بـ HashMap. يمكنك ضرب عصفورين بحجر واحد: سوف تفهم الكود وتكتسب المعرفة التي تحتاجها.
- وينطبق الشيء نفسه على ArrayList. لا يوجد شيء معقد، ولكن الكود المصدري يستحق القراءة والفهم حقًا.
- السلسلة هي مثال ممتاز. افهم لماذا هو غير قابل للتغيير.
- AtomicInteger هي فئة رائعة: فهي تحدد العمليات الذرية على الكائنات الصحيحة.
- بعد ذلك، حسنًا، يمكننا إدراج كل فصل، واحدًا تلو الآخر :)
2. اتبع اصطلاحات التعليمات البرمجية
اصطلاحات البرمجة هي مجموعة من الإرشادات التي أنشأتها فرق التطوير. وهي تتضمن إرشادات لأسلوب وتقنيات الترميز لكل جانب من جوانب الكود. قد تكون هذه الاتفاقيات مكتوبة للشركة بأكملها أو لمشروع معين. تكون اصطلاحات الترميز بشكل عام خاصة بكل لغة برمجة وتغطي تنظيم الملف، والمسافات البادئة، والتعليقات، والإعلانات، والمشغلين، والمساحات، واصطلاحات التسمية، وتقنيات ومبادئ البرمجة، وقواعد البرمجة، وأفضل الممارسات للهندسة المعمارية، وما إلى ذلك. الفائدة الرئيسية لبعض المعايير هي حقيقة أن الكود يبدو متماثلًا ومكتوبًا بنفس الأسلوب. وهذا يجعلها أكثر قابلية للقراءة ويساعد المبرمجين على فهم التعليمات البرمجية المكتوبة بواسطة مبرمج آخر. إذا تم اتباع معايير الترميز وتطبيقها بشكل متسق طوال عملية التطوير، فسيكون من الأسهل في المستقبل الحفاظ على التعليمات البرمجية الخاصة بك وتوسيعها وإعادة هيكلتها وحل تعارضات التكامل. تعد قواعد البرمجة مهمة للمبرمجين لعدد من الأسباب:- 40-80% من تكلفة البرمجيات تذهب لصيانتها،
- نادرًا ما تتم صيانة أي برنامج بواسطة مؤلفه طوال حياته،
- تعمل اتفاقيات البرمجة على تحسين إمكانية قراءة التعليمات البرمجية المصدر من خلال السماح للمبرمجين بفهم التعليمات البرمجية الجديدة بسرعة أكبر.
3. استخدم مراجعات الكود
تعد مراجعة الكود إحدى أقوى الأدوات لتحسين الكود. لماذا؟ لأنه سيتم الاطلاع على الكود من قبل هؤلاء الخبراء الذين لم يكتبوه. والمظهر الجديد مفيد جدًا. وغالبًا ما تكون مراجعة التعليمات البرمجية هي ما يساعد على منع كتابة تعليمات برمجية سيئة للغاية. أعلم أن مراجعات الكود ليست ممكنة دائمًا، لأنك تحتاج إلى العثور على شخص آخر يرغب في القيام بذلك. ولكن هذا لا يعني أنه يجب عليك تخطي استخدام هذه الأداة. بل على العكس تمامًا: تُعد مراجعات الأكواد سببًا للعثور على أشخاص متشابهين في التفكير ويحتاجون أيضًا إلى تحسين جودة الأكواد الخاصة بهم. بالمناسبة، من سيمنعك من العثور عليها هنا على CodeGym؟ في مكان حيث الجميع يريد أن يكون مبرمجا.4. كتابة اختبارات الوحدة
الأسلوب المفضل لدي لتحسين التعليمات البرمجية هو بالتأكيد كتابة اختبارات الوحدة. كلما كتبت أكثر منهم، كلما كان ذلك أفضل. في برمجة الكمبيوتر، اختبار الوحدة هو عملية تطوير برمجيات يتم فيها اختبار أصغر جزء قابل للاختبار من كود المصدر، يسمى الوحدة، بشكل فردي ومستقل لمعرفة ما إذا كان يعمل كما هو متوقع. سيساعدك هذا على اكتشاف حالات الفشل في الخوارزميات و/أو المنطق الخاص بك قبل إصدار التعليمات البرمجية الخاصة بك. نظرًا لأن اختبار الوحدة يتطلب هيكلة التعليمات البرمجية الخاصة بك بشكل مناسب، فيجب تقسيم التعليمات البرمجية إلى وظائف أصغر وأكثر تركيزًا. كل منها مسؤول عن عملية واحدة في مجموعة بيانات، بدلاً من الوظائف الكبيرة التي تؤدي عدة عمليات مختلفة ( مبدأ المسؤولية الفردية يقول مرحبًا...). الميزة الثانية لكتابة تعليمات برمجية تم اختبارها جيدًا هي أنه يمكنك تجنب كسر التعليمات البرمجية عند إجراء تغييرات صغيرة على الوظائف الحالية. عندما تفشل اختبارات الوحدة، سيخبرونك أنه تم كتابة شيء ما بشكل غير صحيح. للوهلة الأولى، يبدو الوقت الذي يستغرقه التطوير في كتابة اختبارات الوحدة بمثابة تكلفة إضافية. ومع ذلك، ستوفر اختبارات الوحدة الوقت الذي يستغرقه تصحيح الأخطاء في المستقبل. يجب أن تكون هذه عملية خطوة بخطوة. لذلك دعونا نتقدم أكثر بابتسامة - سنكتب اختبارات لكل طريقة وفصل:D5. استخدم الأدوات لتحسين جودة التعليمات البرمجية
لا يوجد مطور لم يخطئ قط. نموذجياً، المترجم يلتقط مشاكل بناء الجملة والحساب ويعرض تتبع المكدس. ولكن قد تظهر بعض المشاكل التي لا يستطيع المترجم اكتشافها. على سبيل المثال، المتطلبات التي تم تنفيذها بشكل غير صحيح، أو الخوارزميات غير الصحيحة، أو التعليمات البرمجية المنظمة بشكل غير صحيح، أو بعض المشكلات المحتملة الأخرى التي يعرفها المجتمع من خلال التجربة. الطريقة الوحيدة لاكتشاف مثل هذه الأخطاء هي أن تطلب من أحد كبار المطورين مراجعة الكود الخاص بك، أليس كذلك؟ لكن هذا النهج ليس حلا سحريا ولن يغير الكثير. لكل مطور جديد في الفريق، يجب أن يكون لديك عينان إضافيتان تنظران إلى الكود الخاص به. لحسن الحظ، هناك العديد من الأدوات المتاحة التي يمكن أن تساعدك في التحكم في جودة التعليمات البرمجية الخاصة بك. لقد استخدمت Checkstyle وPMD وFindBugs وSonarQube في عملي في مشاريع مختلفة. وهناك آخرون كذلك. يتم استخدامها جميعًا عادةً لتحليل جودة التعليمات البرمجية وإنشاء بعض التقارير المفيدة. في كثير من الأحيان يتم نشر هذه التقارير بواسطة خوادم التكامل المستمر مثل Jenkins.6. اكتب تعليمات برمجية بسيطة ومباشرة
اكتب دائمًا تعليمات برمجية بسيطة ومفهومة ومنطقية. يميل الناس إلى كتابة تعليمات برمجية معقدة لإثبات قدرتهم على القيام بذلك. تعمل التعليمات البرمجية البسيطة والمنطقية دائمًا بشكل جيد، وتؤدي إلى مشاكل أقل، وتكون أكثر قابلية للتوسعة. الكود الجيد هو أفضل الوثائق. إذا كنت تفكر في إضافة تعليق، اسأل نفسك: "كيف يمكنني تحسين الكود بحيث لا يكون هذا التعليق ضروريًا؟" - ستيف ماكونيل.7. اقرأ الوثائق
إحدى أهم عادات المبرمجين الجيدين هي قراءة الكثير من الوثائق. سواء كانت المواصفات أو JSRs أو مستندات API أو البرامج التعليمية أو أي شيء آخر، فإن قراءة الوثائق تساعدك على بناء أساس متين لأفضل برمجة لديك. وأخيرًا وليس آخرًا، لا تقارن نفسك بالآخرين. إن مقارنة نفسك بالآخرين لن تؤدي إلا إلى مشاعر سلبية ومنافسة غير صحية. كل شخص لديه نقاط القوة والضعف الخاصة به. وهذا يعني أنه من المهم التعرف عليهم والعمل معهم. قم بجرد نفسك – اذكر نقاط قوتك واعمل عليها. البرمجة متعة حقيقية: استمتع بها."الثابت عند رجل ما هو متغير عند رجل آخر."
8. متابعة المدونين المثيرين للاهتمام
يعمل الآلاف من المتحمسين حول العالم بنفس التقنيات ويكتبون عنها. غالبًا ما يتم كتابة المدونات بواسطة المبرمجين أنفسهم، وأغلبهم يشاركون آراءهم وتجاربهم الشخصية. ومن خلال المدونات، يمكنك رؤية وجهات نظر مختلفة حول نفس التكنولوجيا. يمكنك رؤية التقنيات الجيدة والسيئة على المدونات. كحد أدنى، اقرأ المقالات على مدونة Coding Dojo وCodeGym :) تابع المدونات الجيدة وعلق على المنشورات وشارك برأيك.9. قراءة الكتب المتعلقة بالمهنة
لا شيء يمكن أن يحل محل كتاب جيد. الكتاب الجيد يعلم المفاهيم الأساسية بشكل أبسط بكثير وينطبق على الأشياء في العالم الحقيقي. مؤلفوها هم أنفسهم مبرمجون عظماء. من خلال قراءة الكتب، يمكنك التعلم من تجارب شخص آخر. أقترح عليك قراءة كتاب "جافا الفعالة" لجوشوا بلوخ. يقدم هذا الكتاب ثمانية وسبعين قاعدة أساسية لا غنى عنها للمبرمجين: أفضل الحلول العملية لمشاكل البرمجة التي تواجهها كل يوم. فهو يحتوي على المبادئ التوجيهية الأكثر عملية وموثوقة لكتابة برامج فعالة ومصممة بشكل جيد. إذا كنت قد بدأت للتو في استخدام Java وليس لديك خبرة في البرمجة، فيمكنك قراءة "Sams Teach Yourself Java 2 في 24 ساعة". ولكتابة كود نظيف، هناك كتاب ممتاز بعنوان "الكود النظيف" من تأليف روبرت مارتن. بعد قراءتها، ستشعر بـ "شعور بالجمال" فيما يتعلق بالرمز.10. كود! شفرة! شفرة!
لا يمكنك أن تصبح مبرمجًا جيدًا بمجرد حفظ كتاب. من السهل التحدث عن المفاهيم النظرية. ولكن لا يمكنك معرفة حدود اللغة أو التوصل إلى أفضل الممارسات إلا عند كتابة التعليمات البرمجية. لذلك، لكي تصبح مبرمجًا جيدًا، عليك أن تكتب الكثير من التعليمات البرمجية. إذا كنت مبتدئًا، فابدأ بكتابة برامج للمهام البسيطة مثل متسلسلة فيبوناتشي، والمتناظرات، ومثلث باسكال، وما إلى ذلك. ثم انتقل إلى المهام الأكبر مثل شجرة البحث الثنائية، وما إلى ذلك. إذا كنت تبحث عن منصة عبر الإنترنت لممارسة لغة Java البرامج، قم بإلقاء نظرة على Coding Ground . شق طريقك من خلال دورات البرمجة وأنا أضمن أن مهاراتك ستكون أفضل بكثير. هناك خيار آخر وهو الالتحاق بدورة Harvard CS50 المجانية.دعونا نلخص
الشخص الذي لا يخطئ هو الذي لا يفعل شيئا. ولهذا السبب نحشد صبرنا، ونعمل مثل الجندب المجتهد على صقل مهاراتنا في البرمجة. للقيام بذلك، لا تنسى:- اقرأ كود الآخرين
- تقديم وطلب مراجعات التعليمات البرمجية
- كتابة اختبارات الوحدة
- استخدم الأدوات لتحسين التعليمات البرمجية الخاصة بك
- كتابة كود بسيط ومفهوم
- اقرأ الوثائق التي كتبها أولئك الذين يستطيعون
- اتبع المبرمجين المثيرين للاهتمام
- قراءة الكتب عن المهنة
- شفرة! شفرة! شفرة!
GO TO FULL VERSION