من أحد المترجمين: ننشر اليوم لك مقالة للمطور الهندي رافي شانكار راهان.
يتحدث عن ما يجب فعله إذا كنت تريد معرفة كيفية كتابة التعليمات البرمجية البسيطة والمفهومة. ينصح المقال لجميع المبرمجين المبتدئين.
من السهل كتابة رمز بسيط. ولكن إذا كنا نتحدث عن جعله جاهزًا للاستخدام في المستقبل من قبل شخص ما ، فسيصبح كل شيء معقدًا على الفور. والحقيقة هي أن مثل هذا الرمز يجب أن يكون أكثر نظافة ومفهومة.
يحتاج المطور إلى إنشاء رمز يمكن استخدامه من قبل أي من زملائه من أي بلد في العالم. لذلك يصبح شيئًا مثل "تراثه". كل هذا يبدو جيدا وقابل للطي ، ولكن الواقع مختلف بعض الشيء ...
توصي Skillbox بما يلي: دورة تدريبية لمدة عامين "أنا مطور ويب للمحترفين" .
نذكرك: لجميع قراء "Habr" - خصم بقيمة 10،000 روبل عند التسجيل في أي دورة تدريبية في Skillbox باستخدام الرمز الترويجي "Habr".
والحقيقة هي أنه في بداية رحلتي ، وحتى قبل قبول العقيدة المذكورة أعلاه ، قمت بإنشاء رمز بشع بحيث لا يمكن تسميته "جيد". كان من المستحيل تقريبا فهم وتفسير. بعد ذلك بقليل ، بدأت في قضاء أيام وشهور على "تصحيح" و "تنشيط" الوحوش التي خلقتها.
من الصعب البرمجة. عندما تكتب برنامجًا يحتوي على سطور ، تخطئ. في بعض الأحيان تكون كبيرة ، وأحيانا ليست غاية. ولكن بغض النظر عن الحجم ، يستغرق الأمر وقتًا للعثور عليه وإصلاحه. في بعض الأحيان تحتاج إلى مساعدة للخروج من قمع اليأس واليأس الذي تقع عليه عند العمل على الكود.
في بعض الأحيان تحتاج ... بطة مطاطيةتم اقتراح مفهوم البطة المطاطية لأول مرة من قبل عميد باركر
في منصبه في الخطابة. يقول باركر إنه لكي تصبح متحدثًا جيدًا ، فأنت بحاجة إلى ممارسة الخطب باستمرار. وأفضل طريقة للتخلص من خوف الجمهور أثناء تعلم التعبير عن أفكارك بطريقة موجزة وواضحة هي التحدث أثناء "التدريبات الشفوية" قبل البطة المطاطية. هي فقط تحل محل الجمهور.
كمبرمج ، تحتاج إلى محاولة شرح كل سطر من التعليمات البرمجية الخاصة بك إلى بطة مطاطية (سواء كانت حقيقية أو متخيلة). عندما تحاول القيام بذلك ، تبدأ في فهم نقاط القوة والضعف في الكود. أنت تعطي لنفسك الفرصة للنظر إليه من الجانب.
إليك بعض النقاط المهمة التي أدركتها عند تطبيق هذه الممارسة. لقد ساعدوني في البدء في الكتابة بشكل أفضل.
إنشاء مكونات قابلة لإعادة الاستخدام ليس ضرورة دائمةلا يتفق الكثيرون معي ، بحجة أن هناك حاجة دائمًا إلى المكونات القابلة لإعادة الاستخدام ، وأنها تحتاج إلى إعادة استخدامها قدر الإمكان. قل ، هذا يساعد على تحسين جودة الشفرة والعمل على أخطائهم. هذا صحيح ، ولكن فقط إذا قمت بإنشاء أفضل رمز في العالم. ولا أحد يحتاج إليه.
لا بالطبع. تحتاج إلى إنشاء برنامج يستوفي شروطًا معينة ، بما في ذلك الميزانية. يمكنك أيضًا تلميع مشروعك باستمرار ، وجعله يلمع ، مضيعة للوقت ، ولكنك تشعر بأنك مطور مثالي. ولكن تذكر: أن البرنامج مناسب لفترة محدودة ، مما يعني أنك بحاجة إلى العمل بسرعة ، وإلا فلن تنتهي أبدًا.
أنت لست بحاجة إليهاالبديهية الإنجليزية الأصلية تبدو مثل "YouArentGonnaNeedIt (YAGNI)". يجب أن تفهم ذلك على النحو التالي: "استخدم أدوات معينة فقط عندما تحتاجها حقًا ، وليس مجرد التفكير في أنها يمكن أن تكون مفيدة لك."
هناك سببان لهذا:
- يمكنك توفير الوقت عن طريق تجنب العمل غير الضروري.
- تتحسن الكود الخاص بك أثناء حفظه من العناصر "المفترضة" التي من شأنها تعقيد البرنامج.
تبسيط كل شيء إلى الحد الأدنىالبرمجة المتطرفة لديها قاعدتان ذهبيتان لإنشاء رمز بسيط.
أولاً ، أسهل طريقة لتقديم ميزة جديدة هي جعلها "تعمل فقط". لا حاجة إلى إنشاء هياكل فائقة أنيقة ، شيء عالي التقنية. فقط اجعل الوظيفة تعمل. لكن لا تنسَ أن الكود يجب أن يجتاز اختبارات الوحدة.
ثانياً ، قم بإعادة ضبط النظام حتى يصبح الرمز بسيطًا قدر الإمكان ، مع تضمين جميع الوظائف الحالية. يجب أن تكون نظيفة قدر الإمكان.
ثالثًا ، يجدر التعلم أننا لا نبحث عن أسرع الطرق. نحن نسعى جاهدين لتحقيق أبسط نتيجة (من حيث الرمز). على سبيل المثال ، يمكنك تقسيم طريقة موجودة إلى أجزاء ، مما يترك أجزاء الاختبار تعمل ، ثم تعدل كل طريقة من طرق المعالجة ، خطوة بخطوة.
عندما تتعثر في المرة القادمة ، جرب البطةالعثور على الأخطاء والمشاكل ، والعمل العام على رمز هو الجزء الرئيسي من البرمجة. لذلك ، فإن تطوير تقنياتنا الخاصة للبحث عن الأخطاء والقضاء عليها ، وإيجاد طريقك هو مهمة حاسمة.
إذا كنت عالقًا في مكان ما ولا يعمل أي شيء ، فحاول التملص.
لا يمكنك تخيل ذلك ، ولكن شرائه. ولا يهم ما إذا كان سيكون بطة منتظمة لحوض الاستحمام أو بطة القراصنة - الشيء الرئيسي هو أنك مرتاح معها بحيث تتناسب مع شخصيتك.
وبعد ذلك ، يمكنك بدء محادثة مع بطة. تحدث معها وطرح الأسئلة واشرح بصوت عالٍ المشكلة التي تعمل بها. النتيجة ستفاجئك.
كان كريس باين محقًا في قوله: "البرمجة ليست ما تعرفه ، إنه ما يمكنك تعلمه."