چرا زبان‌های برنامه‌نویسی نمی‌توانند بدون توابع وجود داشته باشند؟
1397/12/28 14:03 , میلاد صاحب نظر

چرا زبان‌های برنامه‌نویسی نمی‌توانند بدون توابع وجود داشته باشند؟

یکی از اصلی‌ترین بلوک‌های سازنده برنامه‌نویسی توابع هستند. بدون توابع فقط می‌توان برنامه‌های بسیار ساده و مبتدی نوشت، اما هر برنامه‌ای ورای برنامه "Hello World" در نهایت حداقل به یک تابع نیاز خواهد داشت.

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

تابع چیست؟

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

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

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

بنابراین، توابع مفید هستند، اما هدف آن‌ها چیست؟

  1. توابع، وظایف را کپسوله می‌کنند

کلاس‌های برنامه‌نویسی مقدماتی و معارفه‌ای گاهی توابع را به عنوان "جعبه‌های سیاه"(Black Box) تعریف می‌کنند. در نتیجه، وقتی برنامه‌نویس یک تابع را فراخوانی می‌کند، برایش اهمیت ندارد که کد درون تابع دقیقا چه کاری انجام می‌دهد، او فقط نتیجه را می‌خواهد.

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

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

  1. توابع وظایف را از هم مجزا می‌کنند

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

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

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

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

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

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

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

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

این کار باعث صرفه‌جویی در زمان و کاهش پیچیدگی کدها می‌شود، که این‌ها دو ویژگی مهم برای یک برنامه هستند.

  1. توابع قابلیت اشتراک‌گذاری آسان‌تری را فراهم می‌کنند

امروزه در شرکت‌ها، توابعی که توسط یک برنامه‌نویس نوشته می‌شوند، ممکن است توسط برنامه‌نویسان دیگر در پروژه‌های دیگر مورد استفاده قرار گیرند.

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

  1. توابع باعث می‌شوند تست و دیباگ کردن آسان‌تر شود

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

این باعث می‌شود دیباگ کردن مشکل شود و برای کسی که به تازگی برنامه‌نویسی را آغاز کرده است یک کابوس وحشتناک است.

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

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

این مثال ساده زیر که از ویکی‌پدیا گرفته شده است را در نظر بگیرید، ابتدا با عبارات GOTO نوشته شده است و سپس به سبک ساخت‌ یافته نوشته شده است، می‌توانید به وضوح تفاوت را در این دو کد حس کنید.

  1. توابع داده‌ها و منطق را تقسیم‌بندی و مجزا می‌کنند

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

هر اجرا از آن تابع متغیرهای موقتی ایجاد می‌کند و سپس آن‌ها را پس از بازگرداندن یک نتیجه رها می‌کند. این کار باعث می‌شود namespace شما خالی بماند و به شما اجازه می‌دهد از نام‌های متغیر کوتاه مانند “x” استفاده کنید.

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

  1. توابع از پیش تعریف شده هم مهم هستند

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

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

توابع برای برنامه‌نویسی حیاتی هستند

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

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

منبع: makeuseof

 مطالب مرتبط

 مقدمه ای بر زبان برنامه نویسی #C و پلتفرم NET Framework.
7 دلیل منطقی برای آموختن #C
 طبقه بندی زبان های برنامه نویسی
به دست آوردن Exceptionها در #C و یافتن همه خطاها
 LINQ(زبان جستجوی یکپارچه)
برنامه نویسی شیءگرا چیست؟

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

دیدگاه خود را درباره این پست بنویسید

فرم ارسال نظرات