دسته‌بندی بیکن‌ها:
ما معمولاً چراغ‌های راهنما یا بیکن‌ها را به دو دسته تقسیم می‌کنیم: بیکن‌های ساده (simple beacons) و بیکن‌های مرکب (compound beacons).

بیکن‌های ساده، عناصر نوشتاری کد هستند که نیازی به توضیح ندارند مانند نام متغیرهایی که به درستی انتخاب شده‌اند. در کد پایتون قبلی، root و tree بیکن‌های ساده هستند. در برخی از کدها، عملگرهایی مانند +، >، و && و عبارات ساختاری مانند if و else را می توان بیکن‌های ساده در نظر گرفت، زیرا پردازش و فهمیدن آنها کار ساده‌ای است و می توانند به خواننده کمک کنند تا عملکرد کد را به تنهایی کشف کند.

بیکن‌های مرکب ساختارهایی بزرگ‌تری هستند که از بیکن‌های ساده تشکیل شده‌اند. بیکن‌های مرکب برای تابع‌ها که از بیکن‌های ساده تشکیل شده‌اند، معنای لغوی می‌سازند. در کد پایتون قبلی، self.left و self.right با هم یک بیکن مرکب تشکیل می‌دهند. آنها به تنهایی اطلاعات زیادی درباره‌ی کد ارائه نمی‌دهند، اما وقتی در کنار هم قرار می‌گیرند به ما دید بهتری از کد می‌دهند. اجزای کد هم‌چنین می‌توانند به عنوان بیکن‌های ترکیبی عمل کنند. به عنوان مثال، یک حلقه for می‌تواند یک بیکن مرکب باشد زیرا حاوی متغیر حلقه، مقدار اولیه‌ی آن، مقدار اضافه‌شونده در هر تکرار و مقادیر مرزی آن است.

بیکن‌ها می‌توانند اشکال مختلفی داشته باشند. قبلاً دیدیم که نام متغیرها و کلاس‌ها می‌توانند نقش بیکن را بازی کنند و حتی سایر شناسه‌ها مانند نام متدها نیز می‌توانند مانند بیکن عمل کنند. علاوه بر نام‌ها، ساختارهای برنامه‌نویسی خاص مانند جا‌به‌جایی مقدار دو متغیر (swap) یا مقداردهی اولیه (initialization) یک لیست خالی نیز می‌توانند بیکن باشند.

بیکن‌ها به چانک‌ها شباهت دارند اما اکثر محققان آن دو را مفاهیم متفاوت و جداگانه‌ای می‌دانند. بیکن‌ها نسبت به چانک‌ها معمولا کوچک‌ترند. کرازبی (Crosby) نقش بیکن‌ها را در برنامه‌نویسی بررسی کرده و به این نتیجه رسیده است که برنامه‌نویسان باتجربه‌ هنگام خواندن و درک کد به شدت از بیکن‌ها استفاده می‌کنند در حالی که این موضوع درباره‌ی برنامه‌نویسان تازه‌کار صادق نیست.

نکته: هر زمان که لحظه‌ای مکث کردید و گفتید “آها، فهمیدم” و در آن لحظه درک بهتری از عملکرد کد پیدا کردید، توقف کنید و آنچه را که شما را به این نتیجه رسانده است یادداشت کنید. این عامل می‌تواند کامنت، نام متغیر، نام متد یا حتی مقدار تغییریافته‌ی یک متغیر باشد. همه این موارد می‌توانند بیکن یا فانوس راهنمای کد باشند.

منابع:
کتاب «مغز برنامه‌نویس» از انتشارات منینگ

گزیده:
«اگر خواهی بر قول تو کار کنند، برقول خویش کار کن.» قابوس‌نامه

Share