نرخ‌های فریلنسر


داستان

در این تمرین کدی می‌نویسید که به یک فریلنسر کمک می‌کند با مدیر پروژه ارتباط برقرار کند؛ برای این کار چند ابزار در اختیار او می‌گذارید تا نرخ‌های روزانه و ماهانه را به‌سرعت، و در صورت نیاز با تخفیف مشخص، محاسبه کند.

ابتدا چند قاعده میان فریلنسر و مدیر پروژه تعیین می‌کنیم:

  • نرخ روزانه ۸ برابر نرخ ساعتی است.
  • هر ماه ۲۲ روز قابل صورت‌حساب دارد.

فریلنسر پیشنهاد می‌کند اگر مدیر پروژه ترجیح می‌دهد صورت‌حساب را ماهانه دریافت کند، تخفیفی اعمال شود؛ این کار وقتی مدیر پروژه باید با بودجه‌ی مشخصی کار کند، به کار می‌آید.

تخفیف‌ها به‌صورت اعداد کسری مدل می‌شوند که پس از آن‌ها علامت % (درصد) می‌آید و مقدارشان بین 0.0% (بدون تخفیف) و 90.0% (حداکثر تخفیف) قرار دارد.

کارها

این‌ها نمونه‌کارهایی هستند که با داستان ارتباط فریلنسر با مدیر پروژه جور درمی‌آیند:

  • محاسبه‌ی نرخ روزانه با داشتن نرخ ساعتی
  • محاسبه‌ی نرخ ماهانه با داشتن نرخ ساعتی و یک تخفیف
  • محاسبه‌ی تعداد روزهای کاری با داشتن بودجه، نرخ و تخفیف

اصطلاحات

این‌ها توصیه‌هایی هستند، نه قاعده، برای اصطلاحات تکرارشونده در دستورالعمل‌ها (از جمله توضیحات کد اولیه):

  • نرخ روزانه ۸ برابر نرخ ساعتی است؛ باید ذکر شود.
  • نرخ ماهانه ۲۲ برابر نرخ روزانه است؛ باید ذکر شود.
  • اگر تخفیف با نوعی متفاوت از انواع عددی ارائه می‌شود، از اصطلاح تخفیف‌ها به‌صورت ... مدل می‌شوند استفاده کنید.

پیاده‌سازی‌ها

مراجع