مطور برمجي خطأ مألوف يصنعه ، وكيفية تجنبه

الصورة من قبل Fancycrave على Unsplash

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

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

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

هذا تمتص!

Yuck ، هناك مئتان وظيفة الخط هنا.

الذي كتب هذا هراء!

اللهم ، هناك كتلة if-if داخل كتلة if-else.

هذا الرمز هو فوضى شعر كبيرة! افعلها

هذا يحتاج إلى إعادة كتابة من الصفر.

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

أمسكت بالرجل الكبير في فريقي لإجراء محادثة سريعة وبدأت في طرح أسئلتي عليه.

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

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

الرمز مكتوب لسبب مختلف

يعتقد معظم الأشخاص الجدد في تطوير البرامج ، بمن فيهم أنا ، أن الشفرة مكتوبة للأجهزة. خطأ. ندى. لقد كتب للبشر. لا يرى الجهاز حتى شفرة JavaScript التي تكتبها ، كل ما يراه هو سلسلة من 0s و 1s. وبما أنه تم إنشاء خدمة لفريقي ، فقد كانت هناك مواعيد نهائية حقيقية لتسليمات يجب تسليمها. مطورو البرمجيات يخضعون بالفعل لضريبة عقلية. في مكان ما تحت الضغط من أجل التسليم ، فإن إعطاء الشفرة للعمل يكون له الأولوية على كتابة كود رائع من الناحية الجمالية.

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

رمز الإنتاج هو اختبار المعركة

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

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

ما يعمل هو الطريق

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

الترياق

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

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

احصل على فضول

ابدأ في السؤال لماذا!

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

في معظم الأحيان ، سوف يفاجأك الجواب.

تطوير التواضع

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

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

خاتمة

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

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