درس ۵ برنامهنویسی: تابع و شکستن مسئله به بخشهای کوچک
چگونه با تابعها کد خواناتر، قابل استفاده مجدد و قابل آزمایش بنویسیم؟
ورودی و خروجی روشن
تابع calculateDiscount باید قیمت و درصد را دریافت و مبلغ تخفیف را برگرداند. وابستگی پنهان به متغیرهای بیرونی، فهم و تست تابع را دشوار میکند.
یک مسئولیت در هر تابع
تابعی که هم اعتبارسنجی میکند، هم ذخیره میکند و هم پیام میسازد بیش از حد مسئولیت دارد. هر بخش را جدا کن و جریان اصلی را با ترکیب تابعهای کوچک بساز.
- نام فعلی و رفتاری انتخاب کن.
- پارامترهای ضروری را نگه دار.
- نتیجه قابل پیشبینی برگردان.
- حالت خطا را تعریف کن.
تمرین این درس
برای برنامه هزینه، سه تابع بنویس: محاسبه مجموع، پیدا کردن میانگین و ساخت خلاصه متنی. هر تابع را با ورودی ساده و ورودی خالی جداگانه بررسی کن.
پرسشهای متداول
تابع چقدر باید کوتاه باشد؟
عدد ثابتی وجود ندارد؛ معیار این است که یک هدف روشن داشته باشد و بدون دنبالکردن چند مسئولیت فهمیده شود.
پارامتر زیاد چه نشانهای است؟
ممکن است تابع بیش از یک کار انجام دهد یا دادههای مرتبط به ساختار منسجمی نیاز داشته باشند.
جمعبندی
تابعهای کوچک با ورودی و خروجی روشن، کد را قابل فهم و تست میکنند. از نام تابع باید بتوان رفتار آن را حدس زد.