# ارسال پیام خطا به دولوپر توسط نرم‌افزار

شما ممکن است پروژه‌های نرم‌افزاری‌تان را بااستفاده از تست‌های خودکار (Automated Tests) سنجیده، آمار و ارقام مفیدی در مورد سورس‌کد، باگ‌ فیکس‌ها و … داشته باشید که حاوی اطلاعات ارزشمندی دربارهٔ فرایند تکامل پروژه در طول زمان باشند.

دولوپرهای حرفه‌ای همواره یک خط قرمزی دارند که هرگز اجازه نمی‌دهند کیفیت کدها پایین‌تر از آن قرار گیرد؛ حال اگر چنین خط قرمزی توسط خود پروژه مدیریت شود چه اتفاقی رخ خواهد داد؟ به‌عبارت دیگر، خود سورس‌کد به گونه‌ای طراحی شود که اگر چیزی در شرف خراب شدن بود، به دولوپر هشدار دهد.

یک اپلیکیشن هم می‌تواند همچون ما آدم‌ها سخنگو باشد اما به این شکل که یا از طریق ایمیل و یا از طریق دیگر راه‌های ارتباطی همچون پیامک، نوتیفیکشن و غیره اطلاعاتی از چند و چون کارکرد اپلیکیشن را در اختیار دولوپر قرار دهد.

اگر در حین کدنویسی به چنین قابلیتی هم فکر کنیم -یعنی خود نرم‌افزار در مورد تعداد اکسپشن‌ها، ارورها و غیره به دولوپرش هشدار دهد- می‌توانیم اطمینان حاصل کنیم قبل از آن که اوضاع روبه وخامت بگذارد، می‌توانیم دست به اصلاح سورس‌کد بزنیم.

برخی دولوپرها هم به‌خاطر مهم دانستن این موضوع، کمی خلاقیت به‌خرج داده و سیستمی طراحی می‌کنند که درصورت بروز مشکلات فنی در اپلیکیشن طراحی شده، یک چراغ قرمز هشدار چنین پیامی را به اعضای تیم توسعهٔ نرم‌افزار منتقل کند و شاید هم برخی پا را از این هم فراتر گذاشته و سیستمی طراحی کننده که بااستفاده از یک اسپیکر، نرم‌افزار درصورت بروز مشکل به صدا درآمد و مثلاً بگوید «دولوپرم عزیزم من اصلاً حالم خوب نیست و باگ‌ها امانم رو بریده‌اند!»

به‌طورکلی، لاگ‌ها اطلاعات بسیار ارزشمندی از نحوهٔ کارکرد نرم‌افزار در اختیار دولوپر قرار می‌دهند و این درحالی است که بسیاری از دولوپرها اصلاً توجهی به این دست اطلاعات ارزشمند نمی‌کنند! ما به‌سادگی و بااستفاده از لاگ‌های نرم‌افزارمان می‌توانیم روزبه‌روز دست به بهبود سورس‌کد زده و باگ‌ها، خطا‌ها و اکسپشن‌ها را به حداقل برسانیم.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/fa/thing_52.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
