بلاک کد چیست؟
بلاک کد چیست و چگونه ساخته میشود؟
بلاک کد در واقع به مجموعهای از دستورها گفته میشود که با هم یک کار مشخص را انجام میدهند. تصور کنید میخواهید به دوستتان بگویید که چگونه یک لیوان آب بریزد. شما چند دستور پشت سر هم به او میدهید: «لیوان را بردار»، «زیر شیر آب ببر»، «شیر را باز کن»، «صبر کن تا لیوان پر شود»، «شیر را ببند» و «لیوان را روی میز بگذار». تمام این دستورها با هم یک «کار» را انجام میدهند؛ یعنی آب ریختن در لیوان. در برنامهنویسی هم به چنین مجموعهای از دستورها که با هم یک وظیفه را انجام میدهند، بلاک کد میگوییم.
نکتهٔ مهم در مورد بلاک کد این است که دستورهای داخل آن باید از حاشیهٔ سمت راست، فاصلهٔ یکسانی داشته باشند. به این فاصله، «تورفتگی» یا «دندانه» میگوییم. در بسیاری از زبانهای برنامهنویسی، تورفتگی فقط برای زیباتر شدن کد نیست؛ بلکه به خود برنامه نشان میدهد که کدام دستورها در یک بلاک قرار دارند. مثلاً فرض کنید در یک بازی، میخواهید وقتی بازیکن به سکه میرسد، سه کار انجام شود: امتیاز افزایش یابد، صدای برخورد پخش شود و سکه ناپدید گردد. این سه دستور با تورفتگی یکسان، یک بلاک کد را میسازند که فقط وقتی اجرا میشود که بازیکن به سکه رسیده باشد.
انواع بلاک کد و کاربردهای آن در برنامهنویسی
بلاک کدها کاربردهای بسیار گستردهای در برنامهنویسی دارند. تقریباً در تمام ساختارهای مهم برنامهنویسی از بلاک کد استفاده میشود. در ادامه با چند نمونه از مهمترین کاربردهای بلاک کد آشنا میشوید:
| نوع بلاک | کاربرد | مثال ساده |
|---|---|---|
| بلاک شرطی | دستورهایی که فقط در صورت درست بودن یک شرط اجرا میشوند | اگر نمرهٔ امتحان بالاتر از ۱۲ بود، پیام «قبول» نشان داده شود |
| بلاک حلقه | دستورهایی که چند بار تکرار میشوند | تا وقتی که شمارنده به ۱۰ نرسیده، عدد را چاپ کن |
| بلاک تابع | دستورهایی که یک کار خاص را انجام میدهند و میتوان آنها را چند بار صدا زد | تابعی بنویس که مساحت مستطیل را محاسبه کند |
همانطور که در جدول میبینید، بلاک کدها در موقعیتهای مختلفی به کار میروند. وقتی برنامهنویس یک تابع مینویسد، تمام دستورهای داخل آن تابع یک بلاک کد محسوب میشوند. یا وقتی از حلقه استفاده میکند، دستورهایی که باید تکرار شوند، در یک بلاک کد قرار میگیرند. این کار باعث میشود برنامه منظمتر باشد و اشکالزدایی آن آسانتر شود.
پرسشهای کلیدی دربارهٔ بلاک کد
خیر، تورفتگی به تنهایی کافی نیست. برای تشکیل یک بلاک کد، دستورها باید از نظر منطقی هم به هم مرتبط باشند و یک کار مشخص را انجام دهند. همچنین در برخی زبانها، باید از علائم خاصی مثل آکولاد یا کلمهٔ کلیدی مناسب استفاده شود. تورفتگی بیشتر یک قرارداد برای خوانایی کد است، هرچند در بعضی زبانها مانند پایتون، خود تورفتگی نقش تعیینکننده دارد.
در زبانهایی مثل پایتون که تورفتگی معنا دارد، اشتباه در تورفتگی باعث میشود برنامه با خطا مواجه شود و اجرا نشود. در زبانهای دیگر، ممکن است برنامه اجرا شود اما خوانایی کد کم شود و پیدا کردن اشکالها سختتر گردد. به همین دلیل، رعایت تورفتگی درست از ابتدا یک عادت خوب برای هر برنامهنویسی است.
بله، این کار «بلاک تودرتو» نام دارد و کاملاً مجاز است. مثلاً میتوان یک حلقه را داخل یک شرط قرار داد یا یک شرط را داخل حلقه. در این حالت، بلاک داخلی باید تورفتگی بیشتری نسبت به بلاک بیرونی داشته باشد تا مشخص شود که داخل کدام بلاک قرار دارد. این ویژگی به برنامهنویس اجازه میدهد تا ساختارهای پیچیدهتری بسازد.