recent
أخبار ساخنة

العادات الجيدة التي يجب أن يتمتع بها كل مبرمج

الصفحة الرئيسية

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

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

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

إتقان طريقة الصيانة والتحسين

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


هناك سران وراء زيادة عمر نظام برمجي معين: الصيانة والتحسين. تتضمن الصيانة إعادة بناء قاعدة التعليمات البرمجية ، وإصلاح الأخطاء المحددة ، ومساعدة المستخدمين من خلال الإجابة على الاستفسارات. حتى دمج طلب السحب التلقائي البسيط لـ GitHub Dependabot يعمل على تحسين جودة مشروعك.

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

قام المبرمجون السابقون بتحسين حساب الجذر التربيعي المعكوس باستخدام معالجات بت على النحو التالي:

قم بتحسين قواعد التعليمات البرمجية الخاصة بك لدعم أجهزة الحوسبة منخفضة الجودة. تعد كتابة كود مصدر نظيف وأقل حدًا جزءًا من التحسين.

تعلم العناصر الداخلية عند إتقان مكتبة أو إطار عمل أو أداة

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

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

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

استخدم مبادئ DevOps وحفز الآخرين على استخدامها

في الأيام الماضية ، اعتاد المبرمجون القيام بأنشطة هندسة البرمجيات يدويًا. تذكر صديقنا القديم FileZilla؟ - غالبًا ما قام مطورو الويب السابقون بتحديث أنظمة برامجهم باستخدام أدوات FTP. ولكن ، يمكننا الآن نشر تطبيقات الويب تلقائيًا عن طريق دفع علامة Git بسيطة. وبالمثل ، غيرت حركة DevOps بشكل جذري الطريقة التي نطور بها أنظمة البرمجيات بالأتمتة.

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

لا تتعلق DevOps فقط بأتمتة سير عمل إصدار البرامج - فهي تحفزنا على أتمتة دورة حياة تطوير البرامج (SDLC) بالكامل. استخدم مبادئ DevOps لتوفير وقتك وتحفيز فرق تطوير البرامج الأخرى لزيادة إنتاجيتها.

استخدم العمل الشاق للمبرمجين الآخرين باحترام

الحقيقة هي أنه من الصعب كتابة كل مكون برمجي من البداية بسبب وقت التطوير المحدود والميزانيات الخاضعة للرقابة. افترض أنك تخطط لإنشاء برنامج وحدة تحكم دون استخدام أي مكتبة تابعة لجهة خارجية. ومع ذلك ، فأنت بحاجة إلى استخدام برنامج مترجم تابع لجهة خارجية مُجمَّع مسبقًا لتجميع شفرة المصدر الخاصة بك. على الرغم من أنك ترغب في كتابة البرنامج بتنسيق عادي ، فإنك لا تزال بحاجة إلى واجهات دالة المجمع و kernel (المعروفة أيضًا باسم استدعاءات النظام). إذا كنت تخطط لكتابة كل شيء من البداية ، فأنت بحاجة إلى إنشاء نظام تشغيل باستخدام مجموعة ISA (بنية مجموعة التعليمات) في وقت مبكر من نظام Unix.

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

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

لا تبني أبدًا حدودًا حول معرفتك - تعلم كل ما تحب!

غالبًا ما نلتقي بخبراء React.js و .NET و Angular و Java ، لكننا نادرًا ما نلتقي بجميع الأشخاص الذين يمكنهم التكيف مع أي تقنية وحبها. يتعامل المبرمجون المتشددون مع مكدسات التكنولوجيا على أنها أدوات تساعدهم في حل المشكلات الهندسية. إنهم يميلون إلى إتقان أساسيات علوم الكمبيوتر وممارسة كل تقنية يحبونها لتوسيع مجموعة مهاراتهم ومعرفتهم.

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

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

google-playkhamsatmostaqltradent