شما ممکن است پروژههای نرمافزاریتان را بااستفاده از تستهای خودکار (Automated Tests) سنجیده، آمار و ارقام مفیدی در مورد سورسکد، باگ فیکسها و … داشته باشید که حاوی اطلاعات ارزشمندی دربارهٔ فرایند تکامل پروژه در طول زمان باشند.
دولوپرهای حرفهای همواره یک خط قرمزی دارند که هرگز اجازه نمیدهند کیفیت کدها پایینتر از آن قرار گیرد؛ حال اگر چنین خط قرمزی توسط خود پروژه مدیریت شود چه اتفاقی رخ خواهد داد؟ بهعبارت دیگر، خود سورسکد به گونهای طراحی شود که اگر چیزی در شرف خراب شدن بود، به دولوپر هشدار دهد.
یک اپلیکیشن هم میتواند همچون ما آدمها سخنگو باشد اما به این شکل که یا از طریق ایمیل و یا از طریق دیگر راههای ارتباطی همچون پیامک، نوتیفیکشن و غیره اطلاعاتی از چند و چون کارکرد اپلیکیشن را در اختیار دولوپر قرار دهد.
اگر در حین کدنویسی به چنین قابلیتی هم فکر کنیم -یعنی خود نرمافزار در مورد تعداد اکسپشنها، ارورها و غیره به دولوپرش هشدار دهد- میتوانیم اطمینان حاصل کنیم قبل از آن که اوضاع روبه وخامت بگذارد، میتوانیم دست به اصلاح سورسکد بزنیم.
برخی دولوپرها هم بهخاطر مهم دانستن این موضوع، کمی خلاقیت بهخرج داده و سیستمی طراحی میکنند که درصورت بروز مشکلات فنی در اپلیکیشن طراحی شده، یک چراغ قرمز هشدار چنین پیامی را به اعضای تیم توسعهٔ نرمافزار منتقل کند و شاید هم برخی پا را از این هم فراتر گذاشته و سیستمی طراحی کننده که بااستفاده از یک اسپیکر، نرمافزار درصورت بروز مشکل به صدا درآمد و مثلاً بگوید «دولوپرم عزیزم من اصلاً حالم خوب نیست و باگها امانم رو بریدهاند!»
بهطورکلی، لاگها اطلاعات بسیار ارزشمندی از نحوهٔ کارکرد نرمافزار در اختیار دولوپر قرار میدهند و این درحالی است که بسیاری از دولوپرها اصلاً توجهی به این دست اطلاعات ارزشمند نمیکنند! ما بهسادگی و بااستفاده از لاگهای نرمافزارمان میتوانیم روزبهروز دست به بهبود سورسکد زده و باگها، خطاها و اکسپشنها را به حداقل برسانیم (جهت آشنایی بیشتر با این موضوع، توصیه میکنیم به مقالهٔ آشنایی با مفهوم Structured Logging در توسعهٔ نرمافزار مراجعه نمایید).