لماذا (وكيف) أكتب رمزًا باستخدام ذكاء بيانات PlatoBlockchain بالقلم الرصاص والورق. البحث العمودي. عاي.

لماذا (وكيف) أكتب الكود بالقلم الرصاص والورق

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

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

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

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

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

لماذا تدونها؟

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

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

كدح محاولة معرفة كيفية التأثير على العناصر المحيطة بنقرة واحدة (من بلدي مشاركة المقالة)

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

دعونا نرى من أين يمكننا أن نبدأ عندما يتعلق الأمر برمز الكتابة اليدوية.

اعرف سؤالك

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

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

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

رسمت لأول مرة مثلثًا مقلوبًا مصنوعًا من العلامات النجمية. هكذا وجدت قدمي على الأرض لبدء الإجابة على سؤالهم.

لقد رأيت مطورين رائعين فهموا شيئًا خاطئًا لمجرد أنهم لم يفهموا تمامًا ما يحلونه.

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

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

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

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

حدد التعليمات البرمجية الخاصة بك

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

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

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

  1. واجهة المستخدم لالتقاط التوقيع - لوحة HTML؟ WebGL؟
  2. قم بتعطيل أحداث المؤشر في باقي صفحة الويب عندما يقوم المستخدم بالتوقيع
  3. قم بتحويل وحفظ الصورة الملتقطة إلى ملف PNG - JS
  4. ثم قم بتحويله إلى blob (ربما) واحفظه في جدول بيانات سجل الزائر.

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

أوصي بشدة بتحديد الكود لمشاريع العميل. اكتب المخطط التفصيلي مع متطلبات المستخدم الخاصة بك أو على ظهر الإطارات السلكية التي طبعتها.

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

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

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

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

Longhand مقابل الاختزال

ورق أبيض مسطر مع ملاحظات مخطوطة بخط اليد بالحبر الأسود.
مرجع سريع لتعطيل اختيار النص

حان الوقت لبدء البرمجة. لذا ماذا تكتب؟ "Bdrs" أو "border-radius". "div -> p"أو"<div><p></div></p>". "pl()"أو"println()". "q()"أو"querySelector()

إذا كان هناك شخص آخر يقوم بتصنيف شفرتك ، فلا يوجد خيار. اترك الاختصارات والرموز الزائفة واختصارات Emmet وأي شكل آخر من أشكال الكتابة المختصرة. بخلاف ذلك ، لا يوجد سبب لافتراض أن أي شخص يقرأ هذا يعرف ما تعنيه اختصاراتك.

هذا الشيء يرجع لك.

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

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

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

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

التدفق غير المتسلسل للشفرة

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

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

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

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

  1. احصل على المدخلات.
  2. احسب عدد فيبوناتشي.
  3. لخص الإخراج.
  4. اطبع الإخراج.

جميع الخطوات في هذا المخطط ضرورية ؛ أما 1 و 3 و 4 فهي أكثر إلزامية. إنها ضرورية ولكنها ليست مهمة بما يكفي للتركيز عليها على الفور.

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

اقض وقتك في كتابة التعليمات البرمجية التي تركز على لب المشكلة.

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

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

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

كود مزيف

لقد كتب كريس بالفعل ملف مقال مفيد عن الكود الزائف أن أوصي بشدة أن تعطي قراءة قوية.

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

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

إليك بعض التعليمات البرمجية الزائفة السريعة لتخطيط شبكة CSS:

Grid
5 60px rows
6 100px columns

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

الفضاء والتعليقات

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

ورق أصفر غير مُبطن مع رمز مكتوب بخط اليد بالحبر الأسود.
مقتطف OG ممتاز ، مكتوب باستخدام TLC إضافي

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

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

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

التناظرية مقابل الرقمية

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

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

أنا لست مواطنًا رقميًا كثيرًا (باستثناء العمل على الويب والتحويل مؤخرًا إلى قراءة الكتب الإلكترونية) ، لذلك ألتزم بالدفاتر المادية.

أدواتي المفضلة لكتابة التعليمات البرمجية اليدوية

أي قلم رصاص وورقة ستفعل! ولكن هناك الكثير من الخيارات المتاحة ، وهذه بعض أدوات الاختيار التي أستخدمها:

لا توجد طريقة "كتابة" للتشفير

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

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

  1. ابدأ بتدوين ناتج شفرتك (باستخدام بيانات نموذجية ، إذا لزم الأمر).
  2. اكتب الخطوط العريضة للرمز. يرجى الاحتفاظ بثلاث خطوات للمشاريع الصغيرة أو تلك الأقل تعقيدًا.
  3. استخدم الرموز الطويلة. يمكن للمطورين الذين يكتبون لأنفسهم استخدام الرموز المختصرة طالما أن الكتابة مقروئية ومنطقية بالنسبة لك عند الرجوع إليها لاحقًا.
  4. عندما تكون تحت قيود زمنية ، ضع في اعتبارك كتابة الكود الذي يعالج جوهر المشكلة أولاً. لاحقًا ، اكتب مكالمة إلى هذا الرمز في المكان المناسب في الكود المتسلسل.
  5. إذا كنت تشعر بالثقة ، فحاول كتابة كود زائف يتناول الفكرة الرئيسية.
  6. استخدم المسافات البادئة والمسافات المناسبة - وانتبه لعرض الورقة.

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

الطابع الزمني:

اكثر من الخدع المغلق