السلام عليكم ورحمة الله وبركاته
بعد ان تعلمت اللغة الانجليزية ذاتيا و مازلت اطور من نفسي
انتقلت لتعلم البرمجة عبر المصادر الأجنبية و عودت نفسي اتابع دورات و فيديوهات كلها برمجة عشان استفيد و اطور لغتي و خبرتي في البرمجة لكن كلها الدورات سوا عربية او اجنبية فقط تعلم الاساسيات مع ان الاجنبية متقدمة و محدثة دائما فقررت تعلم البرمجة عبر المصادر الرسمية للغات و frameworks الي اتعلمها
لكن هذا سبب لي confused
لان تلك المصادر بحر كبير
ولا اعرف ماذا احتاج منها لان لو استمريت في التعلم فيها راح تاخذ شهور و يمكن سنين
اي احد عنده تجربة يعطيني نصيحة للتعلم من تلك docs
كيف اتعلم منها وكيف اعرف اني اخذت قدري وحاجتي منها لان اول بداية لي في التعلم من مصادر كبيرة
وعليكم السلام ورحمة الله وبركاته.
أفهم تمامًا ما تمر به، ولا زلت أمر به إلى الآن، ولا أظن أن أحدًا من المطورين سيقول بأنه لا يحتاج إلى النظر والبحث في التوثيقات، أو أنها سهلة القراءة، إذ يجب أن تُحدّثُ باستمرار، والمطورون كسالى لا يحبون كتابة التوثيقات، لذا ما تمر به أمر طبيعي، فلا تقلق.
أنا لست خبيرًا، لكن من خلال تجربتي البسيطة، يجب قراءة مقدمة أولا وفهم الهدف من المكتبة، إما من التوثيق الرسمي، أو من الدروس المتوفرة على الويب، والتي تُقدم الأساسيات التي تحتاج إليها للبدء في استعمال المكتبة بشكل أساسي، بعدها اقرأ الأجزاء التي تتحدث عن كيفية استعمال جانب معين من المكتبة، ولا تقلق إن لم تفهم كل شيء من الوهلة الأولى، فقط استمر في القراءة، وطبق الأمثلة في مشروعك الذي تعمل عليه أو في مشروع تجريبي بسيط، سيُساعدك هذا التطبيق على إدراك الأشياء التي لا تفهمها، وصدقني، أحيانا أرى بأن فقرة ما معقدة وغير مفهومة، وما إن أطبق المثال في الشيفرة حتى أفهم! وإن لم أفهم، أُعيد القراءة.
التوثيقات الجيدة تنقسم عادة إلى أربعة أقسام:
جزء تعريفي (Getting Started/Tutorial/Quick Start ...)، اقرأ هذا الجزء أولًا وافهمه جيدا، إن لم تفهمه، فابحث عن درس يشرح بطريقة أخرى.
جزء يقدم معلومات أكثر تفصيلا عما سبق، لكنه يبقى مفهوما وغنيا بالأمثلة، اقرأ هذا بعد ما سبق، وضع النصيحة أعلاه في الحسبان.
جزء الواجهة البرمجية API، أو المرجع (Reference) الذي يقدم وصفا بسيطا لكل جزء صغير من المشروع (شرح بسيط لما تقوم به كل دالة وما تستقبله من معاملات، وما تعيده من قيم)، هذا الجزء أصعب الأجزاء فهمًا، ولا تحاول قراءته كما تقرأ الجزأين السابقين، إذ هو مرجع فقط، ترجع إليه كلما أردت معلومة سريعة عن معاملات الدالة الفلانية وما الذي تعيده على سبيل المثال، لكنك إن لم تبدأ بالجزأين السابقين، فلا تتوقع أن تفهم أي شيء هنا.
سجل التغييرات (changelog)، الذي يصف ما تغير في المشروع من نسخة إلى أخرى، ولن تحتاج عادة إلى قراءته إلا إن قرأت درسًا قديمًا على الويب لا يوافق محتويات التوثيق.
لكن رغم كل هذا، توثيق بعض المشاريع البرمجية سيء، وأحيانا لا تجد إلا مقدمة صغيرة يتبعها توثيق الواجهة البرمجية مباشرة، وفي هذه الحالة عليك البحث عن دروس على الويب قبل قراءة التوثيق، وأعانك الله إن وقعت يداك على مكتبة ذات توثيق سيء ودروس قليلة أو منعدمة، هنا قد تضطر إلى اللجوء إلى قراءة الشيفرة المصدرية للمشروع، وعليك استعماله كتوثيق، وعليك بالصبر، فهذا مثل أكل الطعام سيء المذاق عند اشتداد الجوع وانعدام البديل. يجب عليك كذلك قراءة الشيفرة المصدرية للمشاريع مفتوحة المصدر على GitHub التي تعتمد على المكتبة الكئيبة سيئة التوثيق هذه، علّك تجد ضالتك بين أسطرها التي تكون في الغالب غريبة عليك، هنا ركز جيدًا على الأسطر التي تستعمل المكتبة وحاول فهم كيف اعتُمِدَ عليها في المشروع، فمثلًا، قد تجد أحدهم يستدعي الدالة الفلانية في أحد الأسطر مع تمرير عدة قيم للدالة، هنا مهمتك أن تفتّش وتحقق عن سبب استدعاء الدالة، ونوع القيم التي مررت لها ومن أين جاءت، وإلى أين تذهب القيمة التي أعادتها الدالة إلى أن تفهم.
وأخيرًا، استعن بالحكيمين Stack Overflow و Google، أو جرب DuckDuckGo الذي يعرض الإجابة من Stack Overflow مباشرة (وهي ميزة تعجبني صراحة).
التعليقات