آموزش زبان آلمانی (دورهٔ ۹۰ روزه) · درس ۴۲ از ۹۰

باگ و دیباگ؛ گزارشِ مشکلِ فنی به آلمانی

⚡ پاسخ کوتاه

گزارشِ باگِ آلمانیِ خوب چهار چیز دارد: چه انتظاری داشتی (Erwartet)، چه شد (Tatsächlich)، چطور بازتولید می‌شود (Reproduktion) و محیط (Umgebung). جملهٔ طلایی: „Ich kann den Fehler reproduzieren“ (می‌توانم خطا را بازتولید کنم) — و برای ناشناخته‌ها: „Ich bin noch nicht dahintergekommen“ (هنوز ریشش را پیدا نکردم).

درس ۴۲ از ۹۰ — باگ و دیباگ؛ گزارشِ مشکلِ فنی به آلمانی

باگ، همیشه هست و همیشه هم باید گزارشش بدهی — به تیم، به DevOps، به مشتری! زبانِ باگ در آلمانی، زبانِ دقت است: «کار نمی‌کند» را آلمانیِ مهندسی، تجزیه می‌کند: کجا، کِی، با چه ورودی، چه پیامی!

این درس هم گزارشِ باگ را می‌سازد (قالبِ چهارپارچه که تیمت عاشقش می‌شود!) هم واژگانِ دیباگِ زنده را: reproduzieren، eingrenzen، Ursache، Workaround — چهار کلمه‌ای که نیمی از هر گفتگوی فنیِ روزمرهٔ تو را می‌سازند!

قالبِ گزارشِ باگ؛ چهارپارچهٔ مهندسی

پارچه سوال جملهٔ نمونه
Erwartet (منتظره) چه باید می‌شد؟ „Erwartet: Der Login leitet zum Dashboard.“
Tatsächlich (واقعی) چه شد؟ „Tatsächlich: Es kommt ein 500er.“
Reproduktion (بازتولید) چطور دوباره بشود؟ „Schritte: 1) … 2) … — passiert immer.“
Umgebung (محیط) کجا/چه نسخه؟ „Staging, Version 2.4.1, Chrome.“

این چهارپارچه، استانداردِ جهانیِ باگ-ریپورت است — اما جمله‌های آلمانی‌اش را همین‌جا قفل کن: „Der Fehler tritt nur in Staging auf“ (خطا فقط در استیجینگ رخ می‌دهد)، „Ich kann ihn nicht immer reproduzieren“ (همیشه نمی‌توانمش بازتولید کنم — سخت‌ترین نوعِ باگ!)

واژگانِ دیباگ؛ هشت کلمهٔ روزانه

واژه معنی جمله
der Fehler خطا Ich habe einen Fehler gefunden.
reproduzieren بازتولیدکردن Ich kann den Fehler reproduzieren.
eingrenzen محدودکردن (ریشه‌یابی) Ich habe den Fehler eingegrenzt: Es liegt am Parser.
die Ursache علتِ ریشه‌ای Die Ursache ist ein Null-Pointer.
der Workaround راه‌حلِ موقت Als Workaround können wir den Cache leeren.
der Stacktrace / Log استک‌تریس/لاگ Schick mir bitte den Stacktrace.
nachvollziehen پی‌گیری/فهمیدن Ich kann das Verhalten nachvollziehen.
fixen / der Fix فیکس‌کردن Der Fix ist im Review.
Das Verhalten ist seltsam: Der Fehler kommt nur bei Benutzern mit Umlauten im Namen.رفتار عجیب است: خطا فقط برای کاربرانی که اوملاوت در اسمشان هست می‌آید. — seltsam = عجیب؛ جملهٔ دیباگِ واقعیِ آلمانی! (و بله — باگهای Umlaut واقعی‌اند! ä در اسمِ Schäfer…)

گفتگو: جفت‌دیباگ — دو نفر، یک باگ

Du: Ich hänge an einem Bug. Der Login schlägt bei manchen Usern fehl. Hast du 10 Minuten für Pair-Debugging?روی یک باگ گیر کرده‌ام. لاگین برای بعضی کاربرها شکست می‌خورد. ۱۰ دقیقه برای جفت‌دیباگ داری؟ — schlägt fehl = شکست می‌خورد (فعلِ جدانشدنیِ مقدسِ خطا!)
Sarah: Klar. Zeig mal her. Was sagt der Log?البته. نشانم بده. لاگ چی می‌گوید؟ — Zeig mal her = ببینم/نشانم بده؛ خودمانیِ فنی!
Du: „Invalid credentials“ — aber die User sind definitiv korrekt. Ich habe es dreimal reproduziert.«اعتباراتِ نامعتبر» — ولی کاربرها قطعاً درست‌اند. سه بار بازتولیدش کردم.
Sarah: Moment — schau mal: Das Encoding. Der Username wird doppelt encodiert!صبر کن — ببین: انکودینگ. نامِ کاربری دوبار انکود می‌شود! — Moment = لحظه‌ای؛ واژهٔ کشفِ هر دیباگ!
Du: Das ist die Ursache! Ich fixe das gleich und schreibe einen Test dazu. Danke dir!این علت است! همین الان فیکسش می‌کنم و یک تست هم برایش می‌نویسم. ممنون! — کشف + اقدام + تست + تشکر = چرخهٔ کاملِ باگ!

گرامرِ عمیق‌تر: فعل‌های جدانشدنیِ فنی — fehlschlagen، auffallen، zusammenbrechen

زبانِ باگ، پر از فعل‌های جدانشدنی است و پیشوندشان به آخرِ جمله می‌رود: fehlschlagen (شکست‌خوردن: „Der Login schlägt fehl“)، auffallen (به‌چشم‌آمدن: „Mir ist etwas aufgefallen“ نکته‌ای به چشمم آمد!)، zusammenbrechen (فروپاشیدن: „Der Service bricht zusammen“)، abschmieren (خراب‌شدنِ محاوره‌ای: „Der Server schmiert ab!“). چهار فعل + قاعدهٔ جایگاه = گفتگوی دیباگِ کامل!

Der Service schmiert unter Last ab, aber nur sonntags. Das ist mir erst heute aufgefallen.سرویس زیرِ بار می‌شکند، ولی فقط یکشنبه‌ها! این امروز به چشمم آمد. — دو فعلِ جدانشدنی + یک باگِ کلاسیکِ آلمانی (یکشنبهِ maintenance-window!)

اشتباه‌های رایجِ فارسی‌زبان‌ها در همین درس

این بخش را با یک قرارداد بخوان: هر ❌ یعنی «مغزِ فارسی‌زبانت این را می‌سازد و طبیعی است»، و هر ✅ یعنی «این همان چیزی است که گیرندهٔ آلمانی‌زبان می‌شنود». با هر جفت بلند تکرار کن تا شکلِ درست در گوشت نشست کند.

❌ Es funktioniert nicht! (کلِّ گزارش!)❌ «کار نمی‌کنه!» بدونِ جزئیات، در فرهنگِ فنیِ آلمانی یعنی «هنوز شروع نکردم» — چهارپارچه بگو!
✅ Erwartet: X. Tatsächlich: Y. Reproduktion: … Umgebug: Staging, v2.4.1.✅ شکل درست را دو بار بلند بگو؛ حالا یک بار در یک جملهٔ خودت.
❌ Der Bug ist kaputt.❌ خودِ باگ خراب نمی‌شود! kaputt برای سرویس/ماشین/کد است؛ باگ «هست» و «اصلاح می‌شود»!
✅ Der Code ist kaputt / Der Service ist down. / Der Bug ist gefixt.✅ شکل درست را دو بار بلند بگو؛ حالا یک بار در یک جملهٔ خودت.
❌ Ich habe den Bug gelöst.❌ باگ «حل» نمی‌شود در آلمانیِ رایج — Problem حل می‌شود، Bug فیکس می‌شود!
✅ Ich habe das Problem gelöst. / Ich habe den Bug gefixt.✅ شکل درست را دو بار بلند بگو؛ حالا یک بار در یک جملهٔ خودت.

تمرین‌های این درس — چهار قدم، بی‌عجله

تمرین: یک باگِ واقعی/خیالی را کامل گزارش کن:

  1. چهارپارچهٔ باگ را برای یک مشکلِ واقعیِ فنی‌ات (یا خیالی!) بنویس.
  2. سه جملهٔ دیباگ با واژگانِ درس بساز: reproduzieren، eingrenzen، Workaround.
  3. دیالوگِ جفت‌دیباگ را اجرا کن — هر دو نقش، با لحظهٔ «Moment!»!
  4. سه فعلِ جدانشدنیِ فنی را در جمله‌های واقعی بگو: fehl schlagen، auffallen، abschmieren.

پاسخ تمرین‌ها — اول خودت جواب بده، بعد باز کن

پاسخ تمرین ۱
„Bug: Login-500 bei Umlaut-Namen. Erwartet: Login klappt. Tatsächlich: 500er. Reproduktion: Immer bei ‚Schäfer‘, nie bei ‚Mueller‘. Umgebung: Staging v2.4.1.“ — چهارپارچه + الگویِ کشف‌شده؛ بهترین گزارشِ باگی که تیم می‌تواند بخواهد!
پاسخ تمرین ۲
„Ich kann den Fehler zu 90 Prozent reproduzieren.“ · „Ich habe ihn eingegrenzt: Es liegt am Encoding.“ · „Als Workaround: Username vorher normalisieren.“ — سه جملهٔ ستونِ گفتگویِ دیباگ!
پاسخ تمرین ۳
اجرای دو نقش با تمامِ لحظه‌ها: درخواستِ کمکِ دقیق، «Zeig mal her»، کشفِ «Moment!», تشکرِ پایانی. دیباگِ جفتی در آلمان، آیینی است — جملاتش را از حفظ اجرا کن!
پاسخ تمرین ۴
„Der Deploy schlägt fehl.“ · „Mir ist aufgefallen, dass …“ · „Der Knoten schmiert um 3 Uhr nachts ab.“ — سه فعل + سه جملهٔ فنیِ واقعی؛ پیشوندها آخرِ جمله‌اند!

چالشِ امروز

🎯 امروز یک باگ — واقعی یا خیالی — را با قالبِ چهارپارچه به آلمانی بنویس و در چت/برگه تمرین کن. مهندسیِ آلمانی با گزارشِ دقیق شروع می‌شود، نه با فیکسِ سریع!

نکات مکالمهٔ واقعی که کتاب‌ها کم می‌گویند

  • «Welche Schritte führen zum Fehler?» اولین سوالِ هر دیباگرِ آلمانی است — مراحلِ بازتولید! اگر از قبل نوشته باشی (۱، ۲، ۳…)، نیمی از دیباگ تمام است. جملهٔ پیشگیرانه: „Ich habe die Schritte ins Ticket geschrieben“ (مراحل را در تیکت نوشته‌ام.)
  • مرزِ «فیکسِ سریع» و «فیکسِ درست» را در جمله بگو — „Quick and dirty würde gehen, aber sauber dauert einen Tag“ (سریع-و-کثیف ممکن است، ولی تمیز یک روز می‌برد) — خودِ این شفافیت، در فرهنگِ آلمانیِ مهندسی، امضای حرفه‌ای بودن است!
  • پنجاه‌درصدِ باگ‌هایِ «عجیب»، محیط/داده‌اند نه کد — Umlaut در اسم، تایم‌زون، کشِ قدیمی، یکشنبه‌ها! قبل از کد، این سه را در گزارشت رد کن: „Cache geleert, anderer Browser, Zeitzone geprüft — Fehler bleibt.“ (کش خالی شد، مرورگر دیگر، تایم‌زون چک شد — خطا ماند.) — سه‌جمله‌ای که دیباگرِ بعدی را نیم‌روز جلو می‌اندازد!
🔑 جمع‌بندی این درس

گزارشِ باگِ آلمانی = چهارپارچه: Erwartet، Tatsächlich، Reproduktion، Umgebung. واژگانِ کلیدی: reproduzieren، eingrenzen، Ursache، Workaround. فعل‌های جدانشدنی: fehl schlagen (شکست می‌خورد)، auffallen، abschmieren — پیشوند آخر! و «Ich habe die Schritte ins Ticket geschrieben» = احترامِ مهندسی.

پرسش‌های رایج

به مشتری/غیرفنی هم باگ را چطور گزارش کنم؟
نسخهٔ نرم: بدونِ اصطلاحِ فنی + زمان + راه‌حل: „Wir haben heute Vormittag einen Fehler entdeckt. Das Problem ist behoben bzw. ein Fix ist für heute Abend geplant. Es betrifft nur den Bereich X.“ (امروز صبح خطایی کشف کردیم. مشکل حل شده یا فیکسش برای امشب برنامه است. فقط بخشِ X را درگیر می‌کند.) — سه‌جمله‌ایِ آرامش‌بخش: کشف + وضعیت + محدوده!
کلمهٔ «Bug» را آلمانی‌ها هم می‌گویند؟
بله — Bug در زبانِ فنیِ آلمانی کاملاً جاافتاده است (der Bug!)، در کنارِ der Fehler و der Defekt. رسمی‌ترین: „Der Defekt“؛ رایج‌ترین: „der Fehler“؛ بین‌المللی‌ترین: „der Bug“. هر سه را بشناس، هر سه را بگو!

آلمانی را همین امروز در گوشی‌ات تمرین کن

واژه‌های این درس را هر جا که دیدی با منوی «ذخیره در آپ‌ورد» به فلش‌کارت‌هایت اضافه کن؛ الگوریتم مرور فاصله‌دار سرِ موعد یادآوری‌شان می‌کند، تلفظ‌شان را با صدای آلمانی می‌شنوی و در مکالمهٔ هوش مصنوعی همان‌جا که لازم است استفاده‌شان می‌کنی.