آرمین یزدیان
آرمین یزدیان
خواندن ۴ دقیقه·۱۴ ساعت پیش

7 کد طنز آمیز گوگل برای برنامه نویس ها!

اخیرا به متد عجیبی به اسم Log.wtf در جاوا رسیدم و این منو کنجکاو کرد که بقیه ی کامند های برنامه نویسی بامزه رو هم پیدا کنم. بعد از مقداری جستجو متوجه شدم که گوگل شوخ طبعی و ایزتر اگ های خودش رو فقط در About Phone > Android Version نمیگذاره، بلکه از اون ها در پایگاه کد هم استفاده می کنه!

1- Log.wtf()

در ابتدا این رو بگم که این کلمه مخفف What A Terrible Failure به معنی عجب خراب کاری ای هست. طبق گفته های گوگل، این متد فقط باید زمانی که انتظار چیزی رو ندارید صدا زده بشه. برنامه نویس ها گزارش داده اند که Log.wtf بعضی اوقات باعث توقف و بسته شدن برنامه میشه و بعضی اوقات هم فقط به عنوان Exception در نظر گرفته میشه.
وب سایت دولوپر اندروید اینطوری راجع بهش توضیح میده:

What a Terrible Failure: Report a condition that should never happen. The error will always be logged at level ASSERT with the call stack. Depending on system configuration, a report may be added to the DropBoxManager and/or the process may be terminated immediately with an error dialog.

2- isUserAGoat

اونطور که برنامه نویس ها میگن، این بولین که در UserManager قرار داره، وضعیت نصب بودن بازی Goat Simulator رو بررسی میکنه. ولی چیزی که گوگل راجع بهش میگه یکم عجیبه:

Used to determine whether the user making this call is subject to teleportations.

3- DISALLOW_FUN

به خودتون نگیرید، ولی وقتی این مقدار برابر با true هست، کاربر دیگه نمی تونه شاد باشه! این شرط در یک چشم بهم زدن خنده رو از لب همه میگیره.

برای دونستن دلیل وجود این جوک، با جستجو در codebase به این می رسید که اگر true باشه، کاربر نمیتونه با چند بار لمس کردن روی Android Version هیچ ایزتر اگی رو ببینه.

Specifies if the user is not allowed to have fun. In some cases, the device owner may wish to prevent the user from experiencing amusement or joy while using the device. The default value is false.

4- isTheFinalCountDown

احتمالا نگفته باید بدونید عملکرد این چیه! کلاس کرنومتر (Chronometer) یک متد پابلیکی به اسم isTheFinalCountDown داره که با صدا زدنش، آهنگ Europe — The Final Countdown در یوتیوب باز میشه!

whether this is the final countdown

5- FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

همه ی موبایل ها مولتی تاچ رو ساپورت می کنن ولی تعداد تاچ های همزمان در بعضی موبایل ها کمتر و در بعضی بیشتره. با صدا زدن hasSystemFeature() و پاس دادن استرینگ نامبرده به داخل پرانتز آن، می تونید چک کنید که آیا موبایل از تاچ همزمان 5 انگشت پشتیبانی میکنه یا خیر.

Feature for getSystemAvailableFeatures() and hasSystemFeature(String): The device's touch screen is capable of tracking a full hand of fingers fully independently -- that is, 5 or more simultaneous independent pointers.

در واقع Jazzhand یک اصلاحه که به تصویر زیر نسبت داده میشه:

Jazzhand
Jazzhand

6- isUserAMonkey

گوگل دیگه داره خیلی پارو فراتر میذاره! 😠
شوخی کردم! این میمون (Monkey) با چیزی که توی ذهن همه‌ست فرق میکنه!

مانکی یک برنامه‌ست که در Emulator اجرا میشه. عملکردش هم مربوط به تست کردن UI برنامه‌ست. میمون واقعی به بپر بپر توی جنگل شناخته میشه و این برنامه هم تقریبا همین کار رو در موبایل انجام میده! مانکی تعداد زیادی دستور touch در کل صفحه میفرسته تا کاربر متوجه بشه که در مواقع خاص به چه شکلی برنامه crash میکنه.

الان معلوم شد که isUserAMonkey چک میکنه که آیا مانکی روی emulator فعال هست یا نه!

Returns “true” if the user interface is currently being messed with by a monkey.

7- Meow!

بیش از 360 تا میو توی سورس اندروید وجود داره! به نظر میرسه که برنامه نویس های گوگل به شدت تحت تاثیر گربه ها هستن.

لینکی که میو هارو نشون میده، برای کسایی که مثل من کنکجاون در پایین مقاله وجود داره.


جایزه!

در مرورگرتون log.wtf رو بنویسید و ببینید شما رو به کجا میبره!


به نظر من، تمام این 7 کد بامزه نشون میده که خنده و شادی هیچوقت نمی تونه از برنامه نویس ها جدا بشه و یکی از اهداف توسعه دهنده ها در کنار هدف اصلیشون، تقسیم خوشحالی بین مردم هست! برای اثبات حرفم، می تونید مقدار return شده ی پیشفرض DISALLOW_FUN رو ببینید.


منابع:

https://developer.android.com/reference/android/util/Log.html#wtf(java.lang.String,%20java.lang.String)

https://developer.android.com/reference/android/os/UserManager.html#isUserAGoat()

https://developer.android.com/reference/android/os/UserManager#DISALLOW_FUN

https://developer.android.com/reference/android/widget/Chronometer#isTheFinalCountDown()

https://developer.android.com/reference/android/content/pm/PackageManager#FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

https://developer.android.com/reference/android/app/ActivityManager#isUserAMonkey()

https://cs.android.com/search?q=Meow 🐈


نسخه ی انگلیسی مقاله رو می تونید از طریق این لینک بخونید.

گوگلبرنامه نویسیeaster eggبرنامه نویسبامزه
توسعه دهنده Flutter با زمینه ی چند ساله در بازی سازی با Unity
شاید از این پست‌ها خوشتان بیاید