کامنت‌ها در روبی

کامنت تک‌خطی، چندخطی و کامنت‌های خاص (BEGIN/END) در روبی

کامنت چیست؟

کامنت‌ها (Comments) یادداشت‌هایی هستند که در کد می‌نویسید اما روبی آن‌ها را اجرا نمی‌کند. کامنت‌ها برای توضیح کد، یادآوری و مستندسازی استفاده می‌شوند.

کامنت تک‌خطی

کامنت‌ها با علامت # شروع می‌شوند. هر چیزی بعد از # در همان خط، کامنت است:

# این یک کامنت است
puts "سلام دنیا!"  # این هم یک کامنت است

کامنت در انتهای خط

x = 5  # تعریف متغیر x
y = 10  # تعریف متغیر y

کامنت چندخطی

روبی کامنت چندخطی مجزا ندارد، اما دو راه وجود دارد:

راه ۱: چند #

# این خط اول توضیح است
# این خط دوم توضیح است
# این خط سوم توضیح است
puts "کد اینجا"

راه ۲: =begin/=end

=begin
این یک کامنت چندخطی است
که با =begin شروع و با =end تمام می‌شود
توجه: =begin و =end باید در ابتدای خط باشند
=end
puts "کد اینجا"
=begin و =end باید دقیقاً در ابتدای خط باشند (بدون فاصله قبل از آن‌ها).

کامنت‌های خاص روبی

BEGIN و END

روبی دو بلوک خاص دارد که قبل و بعد از اجرای برنامه اجرا می‌شوند:

BEGIN {
  puts "این قبل از هر چیز اجرا می‌شود"
}

END {
  puts "این بعد از همه چیز اجرا می‌شود"
}

puts "این بدنه اصلی برنامه است"

کامنت‌های جادویی (Magic Comments)

کامنت‌های خاصی که رفتار روبی را تغییر می‌دهند:

Encoding

# encoding: utf-8
puts "سلام دنیا!"

Frozen String Literals

# frozen_string_literal: true
# تمام رشته‌ها در این فایل immutable می‌شوند

چرا از کامنت استفاده کنیم؟

  1. توضیح کد پیچیده: منطق‌های پیچیده را توضیح دهید
  2. یادآوری: بعداً یادتان باشد کد چه می‌کند
  3. همکاری تیمی: دیگران کد شما را بفهمند
  4. غیرفعال کردن کد: موقتاً کدی را اجرا نکنید

قوانین خوب کامنت‌نویسی

✅ کامنت خوب:
# محاسبه مالیات ۹ درصد
tax = price * 0.09
❌ کامنت بد:
# ضرب قیمت در ۰.۰۹
tax = price * 0.09

کامنت خوب چرایی را توضیح می‌دهد، نه چگونگی!

غیرفعال کردن کد با کامنت

گاهی می‌خواهید موقتاً کدی را اجرا نکنید:

puts "این اجرا می‌شود"
# puts "این اجرا نمی‌شود"
puts "این هم اجرا می‌شود"

انواع کامنت با کاربرد خاص

TODO — کارهای باقی‌مانده

# TODO: اعتبارسنجی ورودی را اضافه کن
# FIXME: این بخش با اعداد منفی مشکل دارد
# HACK: راه‌حل موقت، بعداً بازنویسی شود

کامنت منطقه‌ای (Region)

# ============================
# بخش ۱: تنظیمات اولیه
# ============================
config = load_config

# ============================
# بخش ۲: پردازش داده
# ============================
process_data

RDoc — مستندسازی

روبی از RDoc برای مستندسازی استفاده می‌کند. کامنت‌های خاصی که قبل از متدها و کلاس‌ها قرار می‌گیرند:

# محاسبه مساحت دایره
#
# +radius+ شعاع دایره
#
#   area = calculate_area(5)
#   puts area  # => 78.54
def calculate_area(radius)
  Math::PI * radius ** 2
end

میانبرهای مفید

در VS Code:

خلاصه

نوعسینتکسکاربرد
تک‌خطی# متنتوضیح کوتاه
چندخطیچند #توضیح طولانی
بلوکی=begin...=endکامنت بلوکی
BEGIN/ENDBEGIN { }کد قبل/بعد از برنامه

این مبحث بخشی از دوره آموزش کامل روبی است.

ابزارهای مرتبط