بحث
7 تقنيات برمجة تجعلك متميزًا في مجالك
البرمجة #تقنيات_البرمجة #تحسين_الكود

7 تقنيات برمجة تجعلك متميزًا في مجالك

منذ يوم 5 مشاهدة 0 تعليق 1 دقائق قراءة
5 مشاهدة
0 إعجاب
0 تعليق
موثوق 95%
بواسطة  بوبي جاك
يعتبر بوبي شغوفًا بالتكنولوجيا، حيث درس علوم الحاسوب في جامعة ساوثهامبتون قبل أن يعمل في مجموعة متنوعة من الأدوار عبر الصناعات، من القطاع الخاص إلى القطاع الخيري، في الشركات متعددة الجنسيات والشركات الناشئة. ساعد في الحفاظ على خوادم Java الخلفية، وتصميم قواعد البيانات وواجهات المستخدم، وأنشأ نظام إدارة محتوى مخصص.

كما يستمتع بوبي بألعاب الفيديو، وقد كتب لعدة وسائل إعلام، بما في ذلك فترة كمدير تحرير في Switch Player Magazine ومساهمات في المجلة الإلكترونية، SUPERJUMP. يستخدم بوبي جهاز Mac في عمله اليومي وهاتف Android للتسلية.

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

تجنب التحسين المسبق

يكتب المبتدئون كودًا غير فعال، بينما يكتب المبرمجون المتقدمون كودًا محسنًا. لكن الخبراء الحقيقيين يعرفون متى يجب تحسين كودهم ومتى يجب عدم القيام بذلك.

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

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

حاول تجنب تحسين كودك في وقت مبكر جدًا من دورة حياته؛ على الأقل تجنب جعل ذلك هو التركيز. اختبر كودك، وقم بقياس أدائه، وافهم أي الأجزاء قد تستفيد من التحسين.

التعاون مع الآخرين

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

لكن الممارسات الجيدة ليست كلها حول المصلحة الذاتية: الغالبية العظمى من المبرمجين سينتهي بهم الأمر للعمل على كود مع الآخرين في مرحلة ما.

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

سواء كان ذلك برمجة زوجية، أو العمل مع مشرف مشروع على GitHub، أو استخدام مساعد AI، فإن الممارسة تجعلها مثالية. ستتعلم كيفية قبول اقتراحات الآخرين، وشرح نهجك الخاص، واحترام الآراء المختلفة.

ليست مجرد مهارة ناعمة أيضًا. يمكن أن تحدث أدوات مثل GitHub وSlack فرقًا كبيرًا، خاصة إذا استفدت منها بشكل كامل. القدرة على كتابة كود (أو نص) واضح الفهم يمكن أن تجعلك إضافة قيمة لأي فريق.

استخدم أفضل الأدوات

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

هذه التقنية ليست بالضرورة حول استخدام أفضل الأدوات، ولكن استخدامها بأفضل طريقة. بدلاً من المعاناة في اختيارك بين Vim وVSCode، اختر واحدة (بعد إجراء بحثك!) وتعرف عليها جيدًا. حقًا جيدًا.

ما زلت أتذكر كم كان تعليميًا أن أشاهد زميلًا - خبير في Vim - أثناء العمل، في بداية مسيرتي. كانوا يتحركون بين الملفات بسهولة، ويتنقلون بطرق لم أستطع حتى فهمها، ويجرون تغييرات جذرية بضغطة زر. ولم يكن ذلك شيئًا مقارنةً بالزميل الذي استخدم Emacs!

إن العثور على أداة تجعلك مبرمجًا أفضل هو شعور مثير لأنه غالبًا ما يكون رخيصًا ويعطيك ترقية فورية ودائمة.

اكتب برامج بالحجم المناسب

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

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

حل المشكلة المطروحة

مرتبط ارتباطًا وثيق بحجم البرنامج هو المشكلة الفعلية التي تحاول حلها. أحيانًا يمكنك التأثير على ذلك عن طريق تقسيم المهمة إلى أجزاء أصغر وحل كل منها ببرنامج منفصل.

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

وفي الوقت نفسه، يمكن أن يؤدي التعميم المفرط للمشكلة إلى إنشاء مهمة تتجاوز ما تحتاجه فعليًا. من المغري الاستمرار في التعميم، محاولًا حل تحدٍ أكثر فائدة أو إثارة، وتنتهي بالعمل على "برنامج لحل جميع المشاكل"، وهو بعيد كل البعد عن أولوياتك الحقيقية.

اكتب دوالًا بالحجم المناسب

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

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

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

اعرف كيفية كتابة دالة نقية

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

الدالة النقية هي، ببساطة، تلك التي لا تفعل شيئًا سوى إرجاع ناتج متسق. إليك مثال:

int max(int a, int b) { return a > b ? a : b; } 

تقوم هذه الدالة بإرجاع قيمة فقط، وكلما استدعيت max(1, 2)، ستحصل على نفس النتيجة. بالمقابل، إليك مثال لدالة غير نقية:

function print_random(array) { const n = array.random(); console.log(n); return n; } 

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

الدوال النقية أسهل بكثير في الدمج لأنها أكثر قابلية للتنبؤ. كما أنها أسهل بكثير في الاختبار، حيث يمكنك التحقق من ناتجها المتوقع. لا يعني هذا أن كل دالة تكتبها يجب (أو حتى يمكن) أن تكون نقية، ولكن يجب عليك البحث عن الفرص لتنقية قاعدة كودك وجعلها أكثر موثوقية.

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

التقنيات البرمجية التي تجعلك متميزًا

  • التعلم المستمر: من الضروري أن تبقى على اطلاع دائم بأحدث الاتجاهات والتقنيات في عالم البرمجة.
  • المشاركة في المجتمعات: الانخراط في مجتمعات البرمجة يمكن أن يوفر لك فرصًا للتعلم من الآخرين وتبادل المعرفة.
  • تطوير مشاريع شخصية: العمل على مشاريع خاصة بك يساعدك على تطبيق ما تعلمته ويعزز من مهاراتك العملية.
  • تحليل الشيفرة: دراسة الشيفرة المصدرية لمشاريع مفتوحة المصدر يمكن أن يمنحك رؤى قيمة حول أساليب البرمجة المختلفة.
  • تجربة أدوات جديدة: استخدام أدوات جديدة يمكن أن يفتح لك آفاقًا جديدة ويزيد من كفاءتك في العمل.

من خلال تطبيق هذه التقنيات، يمكنك تعزيز مستوى مهاراتك البرمجية وتحقيق تقدم ملحوظ في مسيرتك المهنية.

التعليقات 0

سجل دخولك لإضافة تعليق

لا توجد تعليقات بعد. كن أول من يعلق!