</>پیشگامان خلاقآکادمی و استودیو دیجیتال
دوره‌های برنامه‌نویسی

درس ۵ برنامه‌نویسی: تابع و شکستن مسئله به بخش‌های کوچک

چگونه با تابع‌ها کد خواناتر، قابل استفاده مجدد و قابل آزمایش بنویسیم؟

دراهنمای مرحله‌ای
چگونه با تابع‌ها کد خواناتر، قابل استفاده مجدد و قابل آزمایش بنویسیم؟
دوره برنامه‌نویسی از صفر — درس ۵

درس ۵ برنامه‌نویسی: تابع و شکستن مسئله به بخش‌های کوچک

چگونه با تابع‌ها کد خواناتر، قابل استفاده مجدد و قابل آزمایش بنویسیم؟

راهنمای کاربردی • نوشتهٔ مجتبی خدابخشی
تابع یک کار مشخص را با ورودی معلوم انجام می‌دهد و در صورت نیاز نتیجه برمی‌گرداند. تابع خوب کوچک است، نام آن رفتار را توضیح می‌دهد و دلیل تغییرش فقط یک مسئولیت است.

ورودی و خروجی روشن

تابع calculateDiscount باید قیمت و درصد را دریافت و مبلغ تخفیف را برگرداند. وابستگی پنهان به متغیرهای بیرونی، فهم و تست تابع را دشوار می‌کند.

یک مسئولیت در هر تابع

تابعی که هم اعتبارسنجی می‌کند، هم ذخیره می‌کند و هم پیام می‌سازد بیش از حد مسئولیت دارد. هر بخش را جدا کن و جریان اصلی را با ترکیب تابع‌های کوچک بساز.

  • نام فعلی و رفتاری انتخاب کن.
  • پارامترهای ضروری را نگه دار.
  • نتیجه قابل پیش‌بینی برگردان.
  • حالت خطا را تعریف کن.

تمرین این درس

برای برنامه هزینه، سه تابع بنویس: محاسبه مجموع، پیدا کردن میانگین و ساخت خلاصه متنی. هر تابع را با ورودی ساده و ورودی خالی جداگانه بررسی کن.

پرسش‌های متداول

تابع چقدر باید کوتاه باشد؟

عدد ثابتی وجود ندارد؛ معیار این است که یک هدف روشن داشته باشد و بدون دنبال‌کردن چند مسئولیت فهمیده شود.

پارامتر زیاد چه نشانه‌ای است؟

ممکن است تابع بیش از یک کار انجام دهد یا داده‌های مرتبط به ساختار منسجمی نیاز داشته باشند.

جمع‌بندی

تابع‌های کوچک با ورودی و خروجی روشن، کد را قابل فهم و تست می‌کنند. از نام تابع باید بتوان رفتار آن را حدس زد.

</>
بخش عملی این مطلب

از مفهوم تا استفاده واقعی

Programming basics
به زبان ساده

برنامه‌نویسی یعنی تبدیل یک مسئله مبهم به ورودی، چند تصمیم روشن و یک خروجی قابل بررسی. زبان مهم است، اما روش حل مسئله مهارتی است که میان همه زبان‌ها مشترک می‌ماند.

یک مثال از دنیای واقعی

یک فروشگاه محلی می‌خواهد سفارش‌های بالاتر از ۵۰۰ هزار تومان را رایگان ارسال کند. مسئله واقعی را می‌توان به دریافت مبلغ سفارش، بررسی شرط و نمایش هزینه ارسال تقسیم کرد.

function shippingCost(orderTotal) {
  if (orderTotal >= 500000) return 0;
  return 45000;
}

const total = 620000;
console.log(`هزینه ارسال: ${shippingCost(total)} تومان`);
تمرین ۲۰ دقیقه‌ای

حالا نوبت توست

شرط دیگری اضافه کن تا سفارش‌های کمتر از ۱۰۰ هزار تومان پذیرفته نشوند و یک پیام روشن نمایش داده شود.

  1. نمونه را یک‌بار اجرا یا بازنویسی کن.
  2. تغییر خواسته‌شده را بدون کپی کامل انجام بده.
  3. خروجی را با انتظار خودت مقایسه کن.
  4. در یک جمله توضیح بده چرا راه‌حل کار کرد.
سه نکته‌ای که باید یادت بماند
۱

اول مسئله و خروجی مورد انتظار را روشن کن؛ بعد ابزار را انتخاب کن.

۲

نمونه کوچکِ کامل از پروژه بزرگِ نیمه‌تمام بیشتر به یادگیری کمک می‌کند.

۳

کد را فقط نخوان؛ تغییرش بده، خطا بساز و دلیل نتیجه را توضیح بده.

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

تمرین این صفحه را انجام بده، نتیجه را برای خودت توضیح بده و بعد سراغ درس مرتبط بعدی برو.

انتخاب مسیر بعدی ←