سر #کار یه تابع خیلی هوشمندانه نوشته بودم (به نظر خودم) که حجم دقیق مایع پمپ‌شده توی دستگاه رو محاسبه کنه؛ در واقع روی مقدار محاسبه شدهٔ قبلی، یه اصلاح بزنه.

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

آخرش فهمیدم که تابع مربوطه، حجم رو به double برنمی‌گردونه، بلکه فقط یه bool برمی‌گردونه که نشون بده اجرای تابع موفقیت‌آمیز بوده. و کد من تمام این مدت داشته جناب true رو (به زبان بیت‌ها، عدد یک رو) با واحد میلی‌لیتر با بقیهٔ حجم‌ها جمع می‌زده 🙈🙃

نتیجهٔ اخلاقی:
static_cast, compiler warning, type checking, unit testing, ...

Follow

@masoud آقا من شرمندم ها، ولی یه تست دستی هم اینو نشون میده، حتی یونیت تست هم نه :)

Sign in to participate in the conversation
Mastodon

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!