اگر نیاز به برنامه نویسی اپلیکیشن موبایل از نوع اندروید یا iOS دارید.. اگر نیاز به هر نوع وبسایت یا وب اپلیکیشنی دارید.. اگر قصد آنلاین کردن کسب و کارتون رو دارید با من تماس بگیرید 09128182951
آموزش کد نویسی تمیز Clean Code PHP (توابع)
قسمت های قبلی این آموزش را می توانید در لینک های زیر ببینید:
آموزش کد نویسی تمیز Clean Code PHP (متغیرها: بخش ۱)
آموزش کد نویسی تمیز Clean Code PHP (متغیرها: بخش ۲)
۱- آرگومان های تابع خود را به حداقل برسانید
یک توصیه عمومی وجود داره که میگه اگر آرگومان های یک تابع دو یا کمتر از دو باشند اون تابع در حالت ایده آل خودش به سر میبره. محدود کردن تعداد پارامترهای یک تابع فوق العاده مهمه زیرا باعث می شه به کار بردن تابع و فهم اون ساده تر بشه.
۲- تابع فقط باید یک کار انجام بده
این مهم ترین قاعده در مهندسی نرم افزار است. وقتی توابع بیش از یک کار انجام دهند، ساختن، تست کردن و استفاده از اونا سخت تر میشه. اگر شما جایی تونستید یک تابع را به عمل های مختلف جدا کنید، بهتره حتما کدتون رو ریفاکتور کنید. خواهید دید کدتون خیلی تمیز تر میشه. اگر از بین این دروس فقط همین یک اصل رو یاد بگیرید و انجامش بدید این نوشته با عنوان آموزش کد نویسی تمیز Clean Code PHP رسالت خودشون رو انجام داده.
توضیح و مثال در مورد array_walk
توضیح و مثال در مورد array_filter
۳- نام تابع باید بگوید چه کار می کند
برای نام گذاری توابع خود وقت بگذارید. نام گذاری تابع باید کاری را شرح دهد که انجام میدهد. اطمینان داشته باشید این کار چندین برابر کدنویسی و توسعه ی آن را در آینده سریع تر خواهد کرد.
۴- از flag ها به عنوان پارامتر توابع استفاده نکنید
پرچم (flag) ها در واقع به زبان بی زبانی می گویند این تابع بیش از یک کار انجام می دهد. در صورتی که به عنوان مهمترین اصل این آموزش گفتیم توابع بهتر است فقط یک کار انجام دهند. در چنین حالتی بهترین کار این است تابع خود را به توابع بیشتری تقسیم کنیم.
- برای مرور مفهوم flag در علم کامپوتر این مطلب را بخوانید: تعریف flag
5- تاثیرات جانبی تابع را به حداقل برسانید
تابع خود را به گونه ای بنویسید تا اگر نیاز است یک کاری انجام دهد آن کار را تنها بر روی پارامتر ورودی خود انجام دهد و خروجی را برگرداند در غیر این صورت میتواند در خروجی کل کد شما تاثیر بگذارد و به راحتی خطاهای زیادی به وجود بیاورد. هر توابع باید مانند یک ماژول عمل کند و شما بتوانید آنها را به صورت ابزار های مستقل به کار ببرید. به مثال زیر توجه کنید:
مطلبی دیگر از این انتشارات
آموزش مجازی معادلات دیفرانسیل، آنالیز عددی و برنامهنویسی C
مطلبی دیگر از این انتشارات
چه زمانی segmentation fault رخ میدهد؟
مطلبی دیگر از این انتشارات
مشکلی احراز هویت و لاگین گیت در ویندوز Access denied