كيف تطرح الأسئلة بطريقة ذكية

By | 19/11/2013

كيف تطرح الأسئلة بطريقة ذكية

كتبها: إيريك ستيفين ريموند
Eric Steven Raymond

Original: How To Ask Questions The Smart Way Revision 3.9 (23 Apr 2013) esr

Thyrsus Enterprises
<esr@thyrsus.com>
ترجمت بواسطة: عبدالله ابراهيم

abdul@abdulibrahim.com

Copyright © 2001,2006 Eric S. Raymond, Rick Moen

جميع الحقوق محفوظة للمترجم: عبدالله ابراهيم

الفهرس

إخلاء المسئولية

مقدمة

قبل أن تسأل

عندما تطرح سؤال

اختار منتداك بكل عناية

المنتديات ومواقع الدردشة المخصصة للمبتدئين غالباً ما تعطى إجابات سريعة

 كخطوة تالية، استخدم القوائم البريدية للمشروع

استخدم عناوين لمواضيعك ذو معنى ومحددة

اجعل الرد أمراً سهلاً

اكتب بلغة واضحة، بدون أخطاء إملائية، متفقة مع قواعد اللغة

أرسل الأسئلة بصيغة سهلة ومتعارف عليها

كن دقيق وملم بمعلومات حول مشكلتك

الكم لا يعنى الدقة

لا تستعجل فى إدعائك أنك وجدت عله bug

التذلل ليس بديل عن عمل واجبك HomeWork

أوصف أعراض مشكلتك وليس تخميناتك

أوصف أعراض مشكلتك بترتيب زمنى

أوصف الهدف، وليس الإجراء

لا تطلب من الأشخاص الرد عن طريق الإيميلات الخاصة

كن واضح حول سؤالك

عندما تطرح سؤال حول الشفرة Code

لا ترسل أسئلة الواجب المنزلى HomeWork

تخلص من الاستفسارات التى بلا فائدة

لا تلوح بأن سؤالك “عاجل” حتى لو كان الأمر كذلك بالنسبة لك

المجاملة لا تضر، وأحياناً تساعد

المتابعة مع تنبيه مختصر على الحل

كيف تفسر الإجابات

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

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

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

 مقدمة

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

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

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

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

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

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

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

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

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

إذا لا يمكنك العيش مع هذا النوع من التمييز، نحن ننصحك بدفع بعض المال للدعم التجارى بدلاً من سؤال المبرمجين الماهرين للتبرع بشكل شخصى لمساعدتك.

لو قررت المجئ إلينا لمساعدتك، فلا تكن كأحد الفاشلين، ولا تكون حتى قريب الشبه منهم

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

(التحسينات لهذا الدليل مرحب بها. يمكنك إرسالها إلى الإيميل esr@thyrsus.com أو respondauto@linuxmafia.com

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

قبل أن تسأل

قبل أن تطرح سؤال تقنى عن طريق الإيميل أو مجموعة بريدية أو موقع دردشة أفعل الآتى:

  1. حاول البحث عن الإجابة فى أرشيفات المنتدى الذى تنوى طرح السؤال به.
  2. حاول البحث عن الإجابة على الإنترنت.
  3. حاول قراءة دليل الاستخدام لإيجاد الإجابة.
  4. حاول قراءة قسم الأسئلة الشائعة لإيجاد الإجابة.
  5. حاول إيجاد الإجابة عن طريق الفحص أو الاختبار.
  6. حاول إيجاد الإجابة عن طريق سؤال صديق ماهر.
  7. لو أنك مبرمج، حاول إيجادالإجابة عن طريق قراءة كود المصدرsource code.

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

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

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

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

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

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

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

عندما تطرح سؤال

اختار منتداك بكل عناية

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

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

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

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

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

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

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

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

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

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

المنتديات ومواقع الدردشة المخصصة للمبتدئين غالباً ما تعطى إجابات سريعة

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

فى الواقع، لو إنك وجدت مشكلة بأحد توزيعات لنوكس Linux distribution (كما هو الغالب هذه الأيام) فمن الأفضل التوجه إلى المنتدى أو القائمة البريدية الخاصة بهذه التوزيعة، وذلك قبل قيامك بالتوجه إلى منتدى برنامج التشغيل نفسه لطرح سؤالك. فمن الممكن مبرمجين برنامج التشغيل نفسه يقولون لك ” استخدم التوزيعة التى برمجناها “.

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

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

 كخطوة تالية، استخدم القوائم البريدية للمشروع

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

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

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

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

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

استخدم عناوين لمواضيعك ذو معنى ومحددة

فى القوائم البريدية، المجموعات البريدية، أو المنتديات، عنوان الموضوع هو فرصتك الذهبية لجذب انتباه الخبراء الأكفاء ويكون ذلك فى حدود 50 حرف أو أقل. لا تهدره بلا معنى ” لو سمحتم ساعدونى “(لا تتركونى وحدى ” لو سمحتم ساعدونى!!!” عنوان الرسائل مثل ذلك سيتم تجاهلها كرد فعل طبيعى).

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

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

سؤال غبي Stupid:

المساعدة! الفيديو لا يعمل بشكل لائق فى الكمبيوتر!

سؤال ذكى Smart:

برنامج X. Org 6.8.1 الفأرة به مشوهة الشكل، مع شريحة الفيديو MV 1005.

سؤال اذكى Smarter:

مع استخدام برنامج X. org 6.8.1 واستخدام شريحة الفيديو MV1005 حصلت على شكل مشوه لللفأرة.

أن عملية كتابة “انحراف الغرض Object-deviation” بشكل جيد سوف يساعدك فى تنظيم طريقة تفكيرك حول المشكلة وإعطائك تفاصيل أكثر. ما الذى تأثر؟ هل هو فقط مؤشر الفائدة أم أحد قطع الفيديو أيضاً؟ هل المشكلة بـ X. org أم X؟ بخصوص نسخة 6.8.7؟ هل هذا بخصوص شريحة الفيديو؟ أو بخصوص نسخة الـ MV1005؟ المبرمج الذى سوف يرى تلك المعطيات سوف يفهم فى الحال ما الذى يسبب مشكلتك وما هى المشكلة لديك من أول وهله بشكل عام، تخيل أنك تلقى نظرة على عناوين أرشيف الأسئلة، فقط بعرض عناوين المواضيع.

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

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

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

تغيير عنوان الرسالة ليس كافياً فبرنامج Mutt، وغالباً باقى برامج قراءة الإيميلات الأخرى، تفحص معلومات أخرى فى مقدمة الرسالة Email’s Headers لتوجيه الرسالة إلى أحد القوائم، ولا تفحص عنوان الرسالة لفعل ذلك. فبدلاً من ذلك أنشئ إيميل جديد كلياً.

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

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

اجعل الرد أمراً سهلاً

إذا أنهيت سؤالك بـ” من فضلكم أرسلو ردودكم إلى …” فهذا الأسلوب يجعل الأمر بعيد الاحتمال جداً. أنك تحصل على إجابة لو أنك منزعج من أخذ القليل من الثوان من وقتك لكى تضيف إلى الرد التلقائى إلى عنوان بريدك Reply- to header، فبالتالى نحن لن نزعج أنفسنا لأخذ القليل من الثوان للتفكير فى مشكلتك. لو برنامج الإيميل الذى تستخدمه لا يسمح بذلك، فالأفضل أن تحصل على
برنامج آخر افضل. لو نظام التشغيل الذى تستخدمه لا يزعم تثبيت أحد برامج الإيميلات التى تسمح بذلك، احصل على نظام تشغيل أفضل فى المنتديات،

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

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

اكتب بلغة واضحة، بدون أخطاء إملائية، متفقة مع قواعد اللغة

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

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

اكتب بلا أخطاء إملائية، استخدم الأقواس بشكل صحيح، لا تربك لغتك بـ”هو” مع “هى” “خاسر” مع “خسارة” أو “تمييز” مع “تميز”. لا تقم بالكتابة كلها بالحروف الكبيرة هذا يبدو كأنك تصرخ وهذا يعتبر شئ فظ.(استخدام الحروف الصغيرة فى الكتابة كلها هذا شئ أقل ازعاجاً، على أنه صعب القراءة، إلا أن الآن كوكس Alan Cox يمكنه مجاراة ذلك، ولكن أنت لا يمكنك).

بشكل عام، إذا كتبت بشكل حرفى وغبى فغالباً ما سيتم تجاهل سؤالك، فلا تستخدم الاختصارات التى تستخدم فى الدردشة فلا تكتب مثلاً “you” على شكل “u” فلا تكتب بشكل حرفى وعينى من أجل اختصار حرفين والاسواء من ذلك الكتابة مثل ذلك 133t script kiddie hax0r فبكل تأكيد ستحصل على قبلة الموت ولن تحصل على شئ سوى الصمت المتحجر (أو فى أفضل الأحوال، الكثير من السخرية والاحتقار) وذلك فى المقابل.

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

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

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

أرسل الأسئلة بصيغة سهلة ومتعارف عليها

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

  • ارسل الإيميلات بصيغة نص عادى Text mail وليس HTML (ليس من الصعب وقف استخدام الـ HTML).
  • إرسال المرفقات هو أمر مقبول ولكن هذا فى حالة إذا كان المرفق هو محتوى حقيقى (مثل ملف داعم لشفرة البرامج Patch) وليس مجرد ملف متداول ثم توليده من خلال برنامج قارئ الإيميلات (مثل إرفاق نسخة من نص رسالتك).
  • لا تقم بإرسال الإيميل المكون من عدة فقرات بدون فاصل بين تلك الفقراء وجعلها كلها تبدوا كأنها جملة واحدة (هذا الأمر يجعل اقتباس جزء من الرسالة للرد عليها أمر صعب للغاية) فأفترض أن المجيبين سوف يقرءون رسالتك ببرنامج مضبوط العرض على 80 حرف فقط فيجب جعل التفاف نص رسالتك على هذا النحو Line Wrap، على نحو أقل من 80.
  • من جانب آخر، لا تقم بعمل التفاف للنص للبيانات Wrap Data (مثل سجل الملف مفرغ log file dumps  أو نسخ طبق الأصل للجلسات session transcripts) مثل القيام بعمل عرض ثابت للأعمدة. البيانات يجب إرفاقها كما هى، مما يجعل المجاوبين لديهم ثقة أنهم يرون ما رأيته أنت.
  • لا ترسل نص مقتبس MIME Quoted-Printable إلى منتدى باللغة الإنجليزية، فهذا التشفير قد يكون ضرورى عند الإرسال إلى منتدى بلغة لا تدعمها الترميز الـ ASCII. ولكن الكثير من برامج قارئ الإيميلات لا تدعم ذلك.
  • عند عمل التفاف النص فكل النص سيكون عبارة عن = 20 رمز مبعثر فى ثنايا النص فيبدوا الأمر قبيح ومشتت للانتباه أو من الممكن أن يخرب ذلك من معنى كلمات رسالتك.
  • لا تتوقع أبداً أن المبرمجين يمكنهم قراءة النصوص المكتوبة بالبرامج التجارية مثل ميكروسوفت ورد Microsoft Word أو إكسل Excel. فمعظم المبرمجين يكون رد فعلهم مع هذا كأنك ألقيت على باب شقته كومه من القمامة، وإذا أمكنهم التأقلم مع هذا، فصنيعك يجعلهم يستأون منه.
  • إذا قمت بإرسال إيميل عن طريق نظام التشغيل ويندوز Windows فقم بتعطيل خاصية “الاقتباس الذكى smart quotes ، Tools > AutoCorrect Options” ألغى مربع الاقتباس الذكى تحت خاصية التشكيل التلقائى أثناء الكتابة. هذا سيجعلك تتجنب الحروف المتناثرة السيئة من إيميلك.
  • فى المنتديات لا تسئ استخدام “الابتسامات” وخاصية “HTML” (عندما يكون متاحان) استخدام ابتسامه أو ابتسامتين فهذا أمر مقبول، وأيضاً النص الملون بشكل مبالغ فيه يجعل الأشخاص يظنون أنك غير مقنع. نجد الإكثار  من استخدام الابتسامات والألوان والأحجام سوف يجعلك تنجح فى أن تبدو كالمراهقة البلهاء، بشكل عام الإكثار من استخدام تلك الأشياء ليست فكرة جيدة إلا إذا أردت الفكاهة بدلاً من الإجابات.
  • لو أنك تستخدم برنامج قارئ للإيميلات ذو واجهة استخدام مثل برنامج Netscape Messenger، MS Outlook، أو أى من عائلته كن حذراً فقد تكسر تلك البرامج القواعد إذا استخدمتها بخصائصها الافتراضية. معظم تلك البرامج لديها قائمة بأمر “رؤية المصدر” استخدم هذا الأمر فى مجلد الإيميلات المرسلة، تأكد من أنك ترسل الإيميل بنص صرف Plain Text بدون الزيادات البغيضة الغير لازمة.

كن دقيق وملم بمعلومات حول مشكلتك

  • أوصف أعراض مشكلتك أو عطلك بكل عناية ووضوح.
  • أوصف البيئة التى وقع بها العطل (الآلة، نظام التشغيل، التطبيق، أو غير ذلك) واكتب منتج توزيعتك Vendor’s Distributor ومستوى الإصدار  (على سبيل المثال: ” Fedora Core 7″ و ” Slackware 9.1″، وغير ذلك).
  • أوصف البحث الذى قمت به لمحاولة فهم مشكلتك قبل طرح سؤالك.
  • أوصف خطوات تشخيص مشكلتك الذى قمت به لتتبع مشكلتك بنفسك قبل طرح السؤال.
  • أوصف أى تغيير حدث فى جهاز الكمبيوتر أو أحد البرامج مما قد يكون له علاقة بالمشكلة.
  • لو من الممكن إيجاد طريقة لعرض المشكلة فى بيئة عمل يمكن التحكم بها.

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

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

سيمون تاثام Simon Tatham قام بكتابة مقال رائع بعنوان كيف تبلغ عن علة بكل كفاءة How to Report Bugs Effectively ، انصح بقراءته بشدة.

الكم لا يعنى الدقة

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

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

لا تستعجل فى إدعائك أنك وجدت عله bug

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

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

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

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

التذلل ليس بديل عن عمل واجبك Home Work

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

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

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

أوصف أعراض مشكلتك وليس تخميناتك

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

سؤال غبى Stupid:

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

سؤال ذكى Smart:

فى اللوحة الأم المبنية يدوياً (K6/233 on FIC-PA2007 (VIA Apollo VP2 chipset مع رامات Corsair PC133 SDRAM بدأت احصل على أعطال SIG11 متكررة بعد 20 دقيقة من توصيل التيار الكهربى أثناء عملية تجميع النواة، ولم يحدث هذا أبداً فى الـ 20 دقيقة الأولى.

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

من الممكن أن تكون النقطة السابقة تبدو أصعب للعديد من الأشخاص للفهم، فاذكرك بجملة “كل المشخصين من ميسورى … All diagnosticians are from Missouri” هذه هى الولاية الأمريكية التى شعارها الرسمى واضح فى Show me (استحقته فى عام 1899، عندما قام رجل الكونجرس ويلد. دى فاند يفيد Willard D. Vandiver يقول: (أنا أتى من ولاية تذرع الذرة والقطن والديمقراطيين، والبلاغة الزائدة لا تقعنى ولا ترضينى. أنا من ميسورى يجب أن توضح لى Show me “) فى حالة المشخصين، أن الأمر ليس له علاقة بالتشكك، ولكن بشكل حرفى الاحتياج العملى لرؤية كل شئ إلى أقرب ما يكون على حالته الأولية التى أنت رأيتها، بدلاً من ظنونك وملخصاتك وضح لى Show me.

أوصف أعراض مشكلتك بترتيب زمنى

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

احصل على سجل الجلسة session log (على سبيل المثال استخدم سكربن البرنامج الخدمى Script Utility) واقتبس العشرين سطر أو العدد المناسب الذى له صلة بمشكلتك.

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

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

أوصف الهدف، وليس الإجراء

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

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

سؤال غبي Stupid:

كيف احصل على ريشة التقاط الألوان Color-Picture فى برنامج الرسم FooDraw لأخذ ألوان عشرية RGB؟

سؤال ذكى Smart:

أنا أحاول إبدال ألوان الجدول بقيم من اختيارى، وأنا الآن أجد أن الطريقة المثلى للقيام بذلك هو عن طريق تعديل كل خانة للجدول على حدة، ولكنى لا أستطيع أن أخذ قيم الألوان العشرية RGB عن طريق ريشة التقاط الألوان Color Picker فى برنامج FooDraw

النسخة الثانية من السؤال اذكى. فهى تسمح باقتراح أداة أفضل ملائماً للمهمة.

لا تطلب من الأشخاص الرد عن طريق الإيميلات الخاصة

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

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

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

كن واضح حول سؤالك

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

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

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

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

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

عندما تطرح سؤال حول الشفرة Code

لا تطلب من الآخرين أن يصلحوا شفرتك المعطوبة بدون أعطائهم تلميح حول نوع المشكلة التى يجب عليهم البحث عنها.إرسال بضع المئات من أسطر الشفرة، والقول “أن هذا لا يعمل”، سوف يتم تجاهلك. إرسل عشرة أسطر والقول “يعد السطر الـ V كان من المفترض رؤية < × >، ولكن < y > حدث بدلاً من ذلك” فعلى الارجح ما ستحصل على رد.

 الطريقة الأكثر فاعلية لتكون دقيق حول مشكلة الشفرة هو أن تقدم الحد الأدنى لحالة اختبار توصيف العله minimal bug-demonstrating test case ما هو الحد الأدنى لحالة الاختبار minimal test case ؟ هو توصيف للمشكلة، مجرد القدر الكافى من الشفرة لعرض الأداء الغير مرغوب فيه وليس أكثر من ذلك: كيف تقوم بإجراء الحد الأدنى لحالة الاختبار؟ لو تعلم ما هو السطر أو القسم من الشفرة الذى يسبب المشكلة، انسخ هذه الشفرة وأضف إليه بعض أسطر الشفرة الداعمة لعمل مثال كامل (على سبيل المثال، القدر الكافى المقبول هو الذى يسمح للمجمع / المترجم / أو أى تطبيق آخر يقوم بمعالجة الشفرة). لو لا تستطيع تقليص الشفرة لتحديد قسم معين به المشكلة فقم بعمل نسخة للشفرة وقم بحذف المقاطع التى لا تؤثر على الأداء الخاطئ. كلما كان الحد الأدنى لحالة الاختبار أصغر، كلما كان أفضل (انظر الكم لا يعنى الدقة).

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

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

لا ترسل أسئلة الواجب المنزلى Home Work

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

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

تخلص من الاستفسارات التى بلا فائدة

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

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


لا تلوح بأن سؤالك “عاجل” حتى لو كان الأمر كذلك بالنسبة لك

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

علاوة على ذلك فكلمة “عاجل” (والكلمات الآخرة المتشابهة التى لها نفس الدلالة لجلب الانتباه فى الموضوع) غالباً ما تنبه فلتر الرسائل المهملة Spam Filters– المستلم المقصود للرسالة من الممكن ألا يرى رسالتك بالكلية.

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

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

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

المجاملة لا تضر، وأحياناً تساعد

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

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

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

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

المتابعة مع تنبيه مختصر على الحل

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

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

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

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

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

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

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

كيف تفسر الإجابات

RTFM و STFW: كيف تعلم أنك حقاً أخفقت

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

RTFM لها  صيغة وثيقة بها. لو أنك حصلت على رد بــ “STFW” فالشخص الذى أرسلها لك يعتقد أنك يجب عليك البحث على شبكة الإنترنت. هو أو هى من المؤكد على حق. أذهب وأبحث بها. (الصيغة الأكثر اعتدالاً من هذا هو عندما يخبرك شخص، استخدم جوجل !)

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

ولكن لا تعتمد كثيراً على هذا الاعتبار: قم بالبحث فى أرشيف المنتدى قبل طرح السؤال.

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

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

لو أنك لم تفهم …

لو أنك لم تفهم الإجابة، لا تقم بالرد فى الحال بطلب توضيح. استخدم نفس الأدوات التى اعتدت على استخدامها فى محاولة حل المشكلة الأصلية (دليل الاستخدام، الأسئلة الشائعة، الإنترنت، اصدقاء بارعين) لفهم الحل. إذا ما زالت فى حاجة إلى توضيح، أعرض ما قمت بتعلمه. على سبيل المثال، لنفترض أنى أخبرتك: ” يبدو الأمر كأنك عندك التصاق فى جهاز Zentry أنت فى حاجة إلى تنظيفه ” بعد ذلك: هنا مثال لسؤال سيئ للمتابعة: ما هو الــ Zentry ؟: هنا مثال لسؤال جيد للمتابعة: حسناً، لقد قمت بقراءة الصفحة الرئيسية والــ Zentries فقط تم ذكرهم تحت أقسام –Z و –P للمحولات ولم يذكر أياً منهم أى شئ حول تنظيف الــ Zentries هل هو واحد من هؤلاء أم أناقد فاتنى شيئاً.

التعامل مع الفظاظة

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

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

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

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

فى القسم التالى، سوف نتحدث حول العديد من الأمور المختلفة: نوع الـ”الفظاظة” التى سوف تواجها عندما تسئ التصرف.

لا تتفاعل كفاشل

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

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

تغلب على هذا، فذلك أمر طبيعى فى الواقع هذا شئ صحى ولائق.

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

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

على نحو مبالغ فيه، “كن ودوداً” أو نافع للآخرين: وعليك اختيار واحد منهما.

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

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

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

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

أسئلة لا تقم بطرحها

س: أين يمكننى أن أجد برنامج أو مرجع حول X ؟

س: كيف استخدام × لعمل y؟

س: كيف اضبط برنامج الأوامر السريع shell prompt ؟

س: كيف يمكننى تحويل وثيقة Acmecorp إلى ملف TeX باستخدام برنامج Bass-o-matic محول الملفات؟

س: [البرنامج، الأعداد، صيغة SQL] لا تعمل؟

س: عندى مشكلة بنظام التشغيل ويندوز هل يمكن أن تساعدنى؟

س: برنامجى لا يعمل اعتقد أن مرفق النظام × به عطل؟

س: عندى مشاكل فى تركيب لينوكس  Linuxأو ×. ممكن أن تساعده؟

س: كيف يمكننى كشف أو سرقة امتيازات مدير القناة أو قراءة إيميل خاص بشخص ما؟

س: أين يمكننى أن أجد برنامج أو مرجع حول X ؟

ج: نفس المكان الذى يمكننى أن أجده، أحمق – من الطرف الآخر لبحث الإنترنت يا إلهى، ألا يعلم الجميع كيفية استخدام جوجل حتى الآن؟

س: كيف استخدام × لعمل y؟

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

س: كيف اضبط برنامج الأوامر السريع shell prompt ؟

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

س: كيف يمكننى تحويل وثيقة Acmecorp إلى ملف TeX باستخدام برنامج Bass-o-matic محول الملفات؟

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

س: [البرنامج، الأعداد، صيغة SQL] لا تعمل؟

ج: هذا ليس سؤالاً، وأنا لست متشوقاً للقيام بلعبة العشرون سؤالاً للتنقيب عن سؤالك الفعلى – عندى أشياء أفضل أود أن أقوم بها عند رؤية شئ كهذا، فرد فعلى الطبيعى هو أحد الأشياء التالية:

  • هل لديك شئ آخر لإضافته إلى ذلك؟
  • أوة، هذا سئ للغاية، أتمنى أن يتم إصلاحه.
  • وهذا تماماً ما حدث معى؟

س: عندى مشكلة بنظام التشغيل ويندوز هل يمكن أن تساعدنى؟

ج: تخلص من نفايات مايكروسوفت وركب أحد أنظمة التشغيل مفتوحة المصدر مثل لينوكس Linux أو BSD.

ملحوظة: يمكنك طرح أسئلة لها علاقة بنظام التشغيل ويندوز لو كان بخصوص برنامج ليس له علاقة ببنية الويندوز، أو يتفاعل مع الويندوز (مثل Samba).

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

س: برنامجى لا يعمل اعتقد أن مرفق النظام × به عطل؟

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

س: عندى مشاكل فى تركيب لينوكس أو ×. ممكن أن تساعده؟

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

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

س: كيف يمكننى كشف أو سرقة امتيازات مدير القناة أو قراءة إيميل خاص بشخص ما؟

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

الأسئلة الجيدة والسيئة

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

بغباء Stupid: أين يمكننى أن أجد أشياء حول Foonly Flurbamatic

هذا السؤال يندرج تحت “STFW” كرد.

بذكاء  Smart: استخدمت جوجل لمحاولة إيجاد ” Foonly Flurbamatic 2600″ على الإنترنت ولكن لم أحصل على أى تلميحات مفيدة. هل يمكن الحصول على نصيحة عن معلومات برمجية حول هذا الجهاز؟

هذا الطرح يفسر أن السائل قام بعمل ” STFW” بالفعل ويبدو أنه فى مشكلة حقيقية.

بغباء Stupid: لا يمكننى تجميع شفرة مشروع FOO لماذا به عطل؟

السائل يفترض أن شخصاً آخر قد أخفق متغطرس.

بذكاء  Smart: لا يمكننى تجميع شفرة مشروع FOO تحت منصة نولكس نسخة 6.2. لقد قمت بقراءة الأسئلة الشائعة. ولكن ليس له أى شئ ذو علاقة بمشاكل النولكس هاهى نسخة طبق الأصل من محاولتى للتجميع. هل هناك شئ خاطئ قد قمت به؟

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

بغباءStupid: عندى مشكلة باللوحة الأم هل يمكن لأحد أن يساعدنى؟

أحد المبرمجين قام بالرد عليه غالباً بـ”حقاً”. هل تحتاج إلى التجشؤ وتغيير الحفاظات أيضاً “ومتبع بمجموعة من طلبات الإلغاء.

بذكاء  Smart: لقد حاولت X و y و Z فى اللوحة الأم S2464 عندما لم يفلح هذا حاولت AوB وC. لاحظ الأعراض المثيرة للفضول عندما حاولت C. من الواضح أن أحد الريش يعطى صوت مزعج، ولكن النتيجة لم تكن كما كان متوقع. عادتاً ما هو سبب حدوث هذا الصوت فى اللوحة الأم Athlon MP؟ هل لدى أحد أفكار حول المزيد من الاختبارات لأقم بها لتحديد المشكلة؟

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

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

فى الواقع الهيئة التى عليها السؤال الأخير مبنية على حادثة حقيقية حدثت فى أغسطس 2001 فى قائمة بريدية لينوكس (lkml) أنا (أيريك Eric) الذى قام بطرح السؤال فى هذا الوقت. كانت إغلاقات غامضة فى اللوحة الأم Tyan S2462 أعضاء القائمة زودونى بمعلومات بارعه احتجتها لحل المشكلات.

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

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

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

إذ لم تستطع الحصول على إجابة

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

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

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

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

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

كيف تجاوب على الأسئلة بطريقة مفيدة

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

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

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

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

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

أجب عن السؤال الحقيقى ! فإذا قام السائل بعمل بحث شامل يتضمن ما قام بعمله من أن X,Y,Z,A,B,Cتم تجربتهم بدون نتيجة جيدة. فأنه من الغير مفيد إطلاقاً الرد بــ ” حاول تجربة A,B ” أو بإعطائه رابط إلى شئ يقول ” جرب X,Y,Z,A,B OR C “

ساعد مجتمعك أن يتعلم شيئاً من السؤال. فعندما تمر بسؤال جيد، فأسأل نفسك “كيف يمكن تعديل دليل للاستخدام أو الأسئلة الشائعة التى لها صلة بالسؤال حتى لا يقم أحد آخر بالإجابة على مثل هذا السؤال مرة أخرى ” وفى هذه الحالة أرسل دعامة patch الدليل إلى المراجع maintainer.

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

مصادر ذات صلة

لو تحتاج إلى معرفة أساسيات طريقة عمل الكمبيوتر الشخصى. لينوكس والأنترنت أنظر إلى The Unix and Internet Fundamentals HOWTO.

عندما تقوم بإصدار برنامج أو دعامة لبرنامج فأتبع تلك الإرشادات فى Software Release Practice HOWTO.

إقرارات

Evelyn Mitchell ساهم ببعض الأمثلة فى قسم الأسئلة الغبية وألهمنى فى “كيف تعطى إجابة جيدة “.

Mikhail Ramendik ساهم ببعض الاقتراحات القيمة ساعدت فى إضافة تحسينات.