Anophel-آنوفل چگونه کد خود را با توابع سازماندهی کنیم؟

چگونه کد خود را با توابع سازماندهی کنیم؟

انتشار:
1
0

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

آیا تشنه کمی دانش هستید؟ یا شاید همبرگر؟

مقابله با هر مجموعه بزرگی از وظایف به مقداری سازماندهی نیاز دارد. فکر کنید در یک رستوران برگر کار می کنید. می‌توانیم یک نمای ساده از فرآیند را به شکل زیر تعریف کنیم:

سفارش مشتری را بگیرید
اگر مشتری سیب زمینی سرخ کرده سفارش داد، سیب زمینی سرخ کرده درست کنید:


سیب زمینی سرخ شده را داخل سرخ کن بریزید
یک تایمر تنظیم کنید
و غیره.


اگر مشتری برگر سفارش داد، برگر را درست کنید:


نوع مناسب پتی (سبزیجات، مرغ، ماهی، گوشت گاو) را انتخاب کنید.
برگر را سرخ کنید
نان را برشته کنید
و غیره.


وسایل را در یک جعبه قرار دهید
در مرحله 1 تکرار کنید

مثلا شما سفارش مشتری را می گیرد. اگر مشتری سیب زمینی سرخ کرده سفارش داد، سیب زمینی سرخ کرده درست می کنند. به "فهرست فرعی" توجه کنید که نحوه درست کردن سیب زمینی سرخ شده را توضیح می دهد. و اگر مشتری برگر سفارش داد، برگر را درست می کنند. و یک «فهرست فرعی» دیگر وجود دارد که نحوه تهیه همبرگر را توضیح می دهد.

برای اینکه فهرست اصلی دستورالعمل‌ها را ساده و آسان‌تر دنبال کنیم، می‌توانیم این فهرست‌های فرعی را به مجموعه‌های جداگانه دستورالعمل‌ها منتقل کنیم.

در برنامه نویسی، ما هر یک از این مجموعه دستورالعمل های مستقل را یک تابع می نامیم.

بیایید در این نقطه توقف کنیم و به این موضوع فکر کنیم. برخی از مزایای شکستن برخی از دستورالعمل ها به توابع چیست؟

تفکیک کد ما به توابع چندین مزیت دارد:

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


این به ما کمک می کند تا کار را برای یک تیم جدا کنیم و هر عملکرد مستقل را به یکی از اعضای تیم اختصاص دهیم. رضا می تواند سیب زمینی سرخ کرده درست کند، محمد همبرگر را درست می کند، و علی جریان اصلی را دنبال می کند و سفارش می دهد.


و ما می‌توانیم به راحتی از این تابع در چندین مکان در برنامه استفاده مجدد کنیم.
آیا به مزایای دیگری فکر کردید؟

یک تابع چیست؟

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

یک تابع مجموعه‌ای از دستورالعمل‌ها برای انجام بخشی از یک کار بزرگتر است.
یک تابع مسئولیت ها را برای بخش خاصی از یک کار جدا می کند و کار اصلی و خواندن آن را آسان تر می کند.
توابع به برنامه‌های ما ساختار می‌افزایند و خواندن و اصلاح آنها را در طول زمان آسان‌تر می‌کنند.


در اینجا یک نکته وجود دارد: کد اغلب بیشتر از آنچه نوشته شده خوانده می شود، بنابراین کد خود را خوانا کنید.

ساختاریک تابع

هنگام نوشتن کد، توابع چیزی شبیه به این هستند:

سیب زمینی سرخ کرده درست کنید:

function makeFries(fries) {
  ... instructions go here ...
  return cookedFries
}

برگر درست کنید:

function makeBurger(patty, bun, condiments) {
  ... instructions go here ...
  return cookedBurger
}

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

یک تابع اغلب برخی از اطلاعات را دریافت می کند، مجموعه ای از دستورالعمل ها را با استفاده از آن اطلاعات انجام می دهد و نتیجه را برمی گرداند (یا "باز می گرداند"). در محل برگر می توانیم بگوییم: "هی رضا ، اینم یک نان شیرینی، نان و چاشنی، برو همبرگر را درست کن و بعد از تمام شدن آن را برای من برگردان."

توابع اغلب با وظایفی که به دنبال یک قرارداد نامگذاری سبک verbObject انجام می دهند نامگذاری می شوند: makeFries و makeBurger.

پس از نام، فهرستی از اطلاعاتی که تابع نیاز دارد، ارائه می شود. در این مثال، این اطلاعات داخل پرانتز قرار گرفته و با کاما از هم جدا شده اند. برای درست کردن سیب زمینی های سرخ شده، به سیب زمینی سرخ کرده نیاز داریم. و برای همبرگر به یک پتی، نان و چاشنی نیاز داریم.

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

در بسیاری از موارد، یک تابع مجموعه مراحل خود را انجام می دهد و نتیجه را برمی گرداند. بنابراین در نهایت، ما آن نتیجه را برمی گردانیم. نتیجه اغلب با یک عبارت بازگشت نشان داده می شود. در این مثال وقتی سیب زمینی سرخ شده درست می شود یا برگر تمام می شود، آنها را به جریان اصلی برمی گردانیم و برای مشتری جعبه می کنیم.

نحوه ایجاد یک تابع

بیایید به مثال دیگری از یک وب سایت ساده پذیرش حیوانات خانگی مجازی نگاه کنیم.

کاربر نوع و تعداد حیوانات خانگی را وارد کرده و روی Adopt کلیک می کند. سپس برنامه یک پیام و یک تبریک از هر یک از حیوانات خانگی تقریباً پذیرفته شده را نمایش می دهد.

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

function prepareGreeting(typeOfPet, numberOfPets) { 
  var greeting = '';
  for (let i = 0; i < numberOfPets; i++) {
    if (typeOfPet === 'cat') { 
      greeting += 'meow' + '<br/>';
    }
    if (typeOfPet === 'dog') { 
      greeting += 'woof' + '<br/>';
    }
  }
  return greeting;
}

این تابع طبق قرارداد verbObject ما "prepareGreeting" نامگذاری شده است. بهترین کار این است که به هر تابع یک نام معنادار بدهید.

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

یک پارامتر یک مکان نگهدار برای اطلاعات مورد نیاز تابع است. ما به هر متغیری یک نام توصیفی مانند typeOfPet و numberOfPets می دهیم. ما پارامترها را بعد از نام تابع اضافه می کنیم، اغلب در داخل پرانتز و با کاما از هم جدا می شوند.

نام تابع با مجموعه ای از پارامترهایش امضای تابع نامیده می شود. امضای تابع به طور منحصر به فرد تابع را شناسایی می کند.

بدنه تابع جایی است که ما کد را برای اجرای مجموعه دستورالعمل ها می نویسیم. در این مثال، جایی است که ما تبریک را آماده می کنیم.

در زبان های برنامه نویسی که از {} استفاده می کنند، بدنه تابع بین اولین و آخرین { تعریف می شود. در برخی از زبان ها، بدن تابع به سادگی با تورفتگی آن تعریف می شود.

در این بدنه عملکرد، سلام حیوان خانگی را آماده می کنیم. ابتدا یک متغیر خوشامدگویی را به یک رشته خالی مقدار دهی اولیه می کنیم. این تضمین می کند که ما یک متغیر رشته (یا متن) داریم که می توانیم برای متن تبریک استفاده کنیم.

سپس برای هر حیوان خانگی حلقه می زنیم. ما از شمارنده ای استفاده می کنیم که با "i" نشان داده می شود، حلقه را تکرار می کنیم در حالی که شمارنده ما از تعداد کل حیوانات خانگی کمتر است، و "i" را در انتهای هر حلقه افزایش می دهیم. توجه داشته باشید که در اکثر زبان‌های برنامه‌نویسی، شمارش بر اساس صفر است، به این معنی که تکرارهای حلقه را که از 0: 0، 1، 2 برای سه حیوان خانگی شروع می‌شود، شمارش می‌کند.

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

نحوه فراخوانی یک تابع

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

greetingForDisplay = prepareGreeting("cat", 3)

ما از نام تابع برای شناسایی تابعی که می خواهیم فراخوانی کنیم استفاده می کنیم. سپس برای هر متغیر پارامتر یک مقدار ارسال کنید. در این مثال، یک رشته (یا متن) را با استفاده از علامت “” و یک عدد ارسال می کنیم.

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

هنگام کار با توابع، حتما این دو عبارت را واضح نگه دارید:

پارامتر: محل نگهدارنده در امضای تابع که در آن نوع اطلاعات مورد نیاز تابع را تعریف می کنیم.
آرگومان: مقدار(های) ارسال شده هنگام فراخوانی تابع، به تابع اطلاعاتی را می دهد که برای اجرای دستوراتش نیاز دارد.


نتیجه

ما از یک تابع برای تعریف مجموعه‌ای از دستورالعمل‌ها برای تکه‌ای از یک کار بزرگ‌تر استفاده می‌کنیم. استفاده از توابع به تقسیم کد طولانی به قطعات قابل مدیریت کمک می کند. درست مانند بلوک های ساختمان، ما توابع را برای ایجاد برنامه ها و وب سایت های ساده تا پیچیده ترکیب می کنیم.

#برنامه_نویسی#توابع#تابع#ایجاد_تابع#function#programming#call_function
نظرات ارزشمند شما :
Loading...