اقرأ ، ابحث ، (لا تخف) اسأل

"كمهندسين وكمطورين ، يدفع لنا مقابل الإحباط ... في نفس الوقت ، نحن دائمًا في المدرسة. نحن نتعلم دائمًا. "- كارلوس لازوس ، الحلقة 1 من CodeNewbie Podcast

البرمجة هي رحلة إلى الغموض.

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

في المرة التالية التي تواجه فيها مشكلة ولا تعرف كيفية المضي قدمًا ، حاول استخدام طريقة "قراءة البحث والسؤال" في Free Code Camp. كما يوحي اسمها ، أنت:

  1. اقرأ الوثائق أو الخطأ
  2. بحث جوجل
  3. اطلب المساعدة - دون الخوف من السؤال!

دعونا نتعمق في كل من هذه.

اقرأ

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

إذا كنت تحصل على أخطاء ، اقرأ الخطأ! حاول معرفة ما تحاول قوله. إذا لم تحصل على خطأ ، ولكنك لا تعرف حقًا ما يحدث ، يمكنك محاولة التصحيح عبر طريقة console.log ().

عندما كنت أقوم بإنشاء تطبيقات Free Code Camp الخاصة بي ولم أحصل على النتائج التي توقعتها ، كنت أتحكم في تسجيل نتائج كل شيء تقريبًا: عبارات if ، وبيانات إرجاع الوظيفة ، وطرق النقر ، وطرق التوقيت.

إحدى الأدوات المفيدة لذلك هي وحدة تحكم المستعرض لديك. إذا كنت تعمل في CodePen ، فهو يحتوي أيضًا على وحدة تحكم.

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

إذا كنت لا تزال عالقًا ، فقد حان الوقت للجوء إلى Google.

بحث

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

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

كن محددًا وموجزًا

هناك شيء آخر يجب مراعاته وهو كيفية تنظيم عمليات البحث الخاصة بك حتى تتمكن من إيجاد حلول فعالة لمشاكلك المحددة.

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

"أريد تغيير شيء ما في سلسلة" ينتج عنه عدد لا يحصى من النتائج.

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

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

[لغة البرمجة] [فعل] [كلمات رئيسية]

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

يبدو أن هذا أقرب كثيرًا مما نبحث عنه!

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

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

نتيجة البحث الرابعة هي "كيف يمكنني استبدال حرف في فهرس معين في JavaScript" ، لذلك أقوم بالنقر فوق ذلك ، ثم أكتشف أن السلاسل غير قابلة للتغيير ، وأنه لا يمكنك تغيير حرف واحد فقط!

إذا كان لا يزال لدي أسئلة بعد ذلك ، فيمكنني إضافة "في فهرس" إلى بحثي ، ومحاولة إجراء سؤال آخر.

مكدس الفائض

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

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

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

(لا تخف) اسأل

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

يمكن أن يأتي البشر الحقيقيون في جميع أنواع الأشكال:

  • أصدقائك (إذا كان لديك أصدقاء يقومون بالتشفير)
  • مجموعات اللقاءات (إذا ذهبت إلى لقاءات)
  • زملائه في المعسكر على قنوات ومنتديات Free Code Camp Gitter
  • أي مجموعات Slack أو Facebook قد تكون جزءًا منها ، من بين آخرين

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

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

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

عندما بدأت المنهج لأول مرة ، كنت أخشى طرح الأسئلة في المنتديات أو غرف الدردشة لسببين:

إحداهما تتلخص في الفخر: شعرت أنني يجب أن أكون قادرًا على معرفة سبب قيام الكود الخاص بي بما كان يفعله. ("أنا إنسان ذكي وقادر. سأكتشف ذلك!")

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

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

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

لم يسبق لي أن تحدث معي أحد أو أعتقد أنني غبي أو عاجز لم أجد أبدًا من لم يجيب على أحد أسئلتي ، مهما بدا الأمر بسيطًا.

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

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

باختصار

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

روابط مفيدة:

كيف تبدأ عندما تكون عالقًا

وثائق JavaScript من Mozilla

وثائق jQuery

مقدمة لتصحيح أخطاء JavaScript

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

منتدى كود كامب الحرة

بالإضافة إلى القنوات عبر الإنترنت ، لدى Free Code Camp لقاءات ومجموعات على Facebook في معظم المدن الكبرى. أنا متورط في زوجين في مدينتي. من خلالهم ، تمكنت من مقابلة أشخاص ، والتشفير معهم ، والعثور على أشخاص للذهاب إلى لقاءات أخرى معهم!