چرا زبان های برنامه نویسی بدون توابع وجود نخواهند داشت؟
یکی از بلوک های اصلی سازنده زبانهای برنامه نویسی توابع هستند. شما میتوانید برنامه خیلی ساده ای را بدون نیاز به یک تابع بنویسید. ولی هر برنامه ای به جز برنامه ساده "Hello World" احتمالا نیاز به یک تابع دارد.
آیا تا به حال فکر کرده که چرا توابع سنگ بنای بسیاری از زبانهای برنامهنویسی هستند. در این مقاله به دلایلی خواهم پرداخت که مشخص میکند چرا توابع برای زبان های برنامه نویسی تا این حد حیاتی هستند!
یک تابع چیست؟
اگر بخواهم خیلی ساده بگویم یک تابع یک بلاک از کد است که با یک نام شناخته میشود و برای ما قرار است وظیفه مشخصی را انجام دهد. بسته به زبانی که شما استفاده می کنید تابع ممکن است نام های متفاوتی داشته باشد. برای مثال پروسیجر ، متد و غیره.
وقتی تابعی را تعریف می کنید کدی را داخل آن قرار می دهید، دقیقا مثل زمانی که برنامه ای را می نویسید. با مشخص کردن یک نام برای تابع و تعیین پارامترهای آن شما می توانید اطلاعات مورد نظر خود را به سمت تابع ارسال کرده و خروجی مورد نظر را به دست آورید. توابع قابلیت استفاده مجدد دارند پس وقتی یک بار آن را در برنامه تعریف می کنید می توانید چندین بار در قسمت های مختلف برنامه آن را فراخوانی کنید. بنابراین توابع برای ما بسیار مفید هستند.
توابع وظایف را کپسوله سازی میکنند
معمولا میتوان به توابع همچون یک جعبه سیاه نگاه کرد. کاری که یک برنامه نویس باید انجام دهد تنها فراخوانی آن تابع است و لزومی ندارد بداند چه اتفاقی در آن می افتد. فقط به نتیجه بازگشتی از تابع نیاز دارد. برای مثال اگر شما تابعی نوشته باشید که اعداد زیادی را از یک فایل متنی خوانده و جمع آنها را به دست می آورد، لازم نیست بدانید آن چطور این کار را انجام می دهد. فقط کافیست آن را فراخوانی کنید.
یک بار تابع را پیاده سازی می کنید و سپس میتوانید در برنامه های مختلف بدون دردسر از آن استفاده کنید.
توابع وظایف را جداسازی میکنند
تنها مزیت تابع کپسوله سازی کدها نیست بلکه آنها به برنامه نویس اجازه میدهند به صورت تمیز کد های خود را به بخشهای مختلفی تقسیم کند. در این صورت برنامه شما می تواند شامل چندین خط کد باشد و کارهای اصلی در آن را با فراخوانی توابع انجام دهید. این هسته برنامه نویسی شی گرا را تشکیل میدهد. از طرفی توابع باعث میشوند برنامه های ما به قطعات کوچکتر تقسیم شود و هر قسمت در اختیار یک برنامه نویس قرار گیرد.
توابع شما اجازه میدهند از کدها استفاده مجدد کنید
در بیشتر مواقع در کدنویسی شما کدهایی را می نویسید که در قسمت های دیگر برنامه هم به آنها نیاز دارید. یک راه این است که در قسمتی از برنامه که با آن کد ها احتیاج دارید، آنها را کپی و پیست کنید که این روش توصیه نمیشود. این کار نه تنها به پیچیدگی برنامه شما می افزاید بلکه برنامه شما را مستعد خطا می کند.
از طرفی اگر بخواهید قسمتی از کد را تغییر بدهید، باید در برنامه همه قسمت ها را تغییر دهید. توابع این مشکلات را برطرف میکنند. توابع استفاده مجدد از خود را در هر جای برنامه شما آسان میکنند. زمانی که یک تابع را تعریف می کنید می توانید در هر زمان و در هر جایی از برنامه آن را فراخوانی کنید.این کار در زمان شما صرفه جویی کرده و پیچیدگی برنامه را کاهش میدهد.
توابع قابلیت اشتراک گذاری آسان تر را فراهم می آورند
بیشتر اوقات کدی که توسط یک برنامه نویس نوشته میشود میتواند توسط دیگر برنامه نویسان در پروژه های دیگر شرکت مورد استفاده قرار گیرد. توابع به راحتی قابل انتقال هستند. خیلی ساده میتوان تابعی را از یک پروژه کپی کرد و به پروژه ای دیگر انتقال داد. نه تنها این کار از تکرار جلوگیری می کند بلکه به توسعه استاندارد سازی در یک شرکت کمک میکند.
توابع عملیات تست کردن و عیب یابی را آسانتر میکنند
بیشتر برنامه نویسان درد عیب یابی برنامههایی که پر از کدهای درهم و برهم هستند را چشیده اند. بدون استفاده از توابعی تمیز، عملیات عیب یابی دشوار میشود. وقتی همه چیز در توابع مختلف جداسازی شد، برنامهنویسان میتوانند از تست های واحد برای تضمین درستی عملکرد یک قسمت از برنامه استفاده کنند.
به جای داشتن برنامه هایی پر از کدهای درهم و برهم بر ایزوله سازی کدهای خود در توابع تمرکز کنید. توابع خوانایی برنامه را نیز افزایش می دهند. وقتی برنامه ای با استفاده از توابع نوشته شود نگهداری آن نیز آسان تر می شود.
شما میتوانید از توابع درونی نیز استفاده کنید
زمانی که صحبت از توابع می شود احتمالاً ذهن شما به سمت توابعی می رود که توسط یک برنامه نویس نوشته می شود. اما آنها تنها توابع موجود نیستند. بیشتر زبان های برنامه نویسی دارای توابع درونی هستند که می توانید به راحتی از آنها استفاده کنید. برای مثال مهم نیست از چه زبانی استفاده می کنید، شما لازم ندارید توابعی را برای عملیات های پایه ای در ریاضی بنویسید. زبان های برنامه نویسی خود از آنها پشتیبانی میکنند. می توانید تصور کنید اگر می خواستید خودتان این عملیات را به کامپیوتر بفهمانید چقدر باید زمان صرف می کردید؟
توابع برای برنامه نویسی حیاتی اند
اکنون که فهمیدید چرا از توابع در زبان های برنامه نویسی استفاده می شوند و چرا آنها تا این اندازه مهم هستند باید به این نکته هم توجه کنید که مهمترین دلیل برای استفاده از توابع این است که آنها به شما اجازه می دهند برنامه خود را به چندین قسمت قابل مدیریت تقسیم کنید. وقتی شما این کار را انجام میدهید مدیریت برنامه شما ساده تر می شود و به راحتی می توانید آن را تست کنید. بدون استفاده از توابع برنامه شما پر از کدهای تکراری میشود و نگهداری از این برنامه در آینده کاری دشوار خواهد بود.