کدنویسی تمیز یا Clean Code به معنی سادهنویسی کدها است؛ به نوعی که حتی برنامه نویسان مبتدی هم با کمی بررسی متوجه شوند که هر قطعه یا خط از کد به چه منظوری نوشته شدهاست. در واقع کدنویسی تمیز یعنی پیادهسازی واضح، قابل فهم، قابل ردیابی و اصولی کدهای برنامه نویسی. در این مقاله علاوه بر پاسخ به سوال کدنویسی تمیز چیست؟ به بررسی اصول کدنویسی تمیز میپردازیم و تعدادی از موارد مؤثر در کدنویسی تمیز را به شما معرفی میکنیم.
فهرست عناوین مقاله
- 1 کدنویسی تمیز چیست ؟
- 2
- 3 کدنویسی کثیف چیست ؟
- 4 مزایای کدنویسی تمیز چیست ؟
- 4.1 1- فهم آسان کدها توسط همکاران در انجام پروژههای تیمی
- 4.2 2- ساخت پروژههای متنباز
- 4.3 3- بازسازی و بروزرسانی کدها
- 4.4 4-اشکالزدایی یا دیباگ برنامه (Debugigng)
- 4.5 5- صرفهجویی در زمان و هزینه
- 4.6 سادگی و قابل فهم بودن کدها
- 4.7 نامگذاری متناسب
- 4.8 استفادهی بهجا و بهاندازه از کامنت
- 4.9 کاهش وابستگیها (Dependencies)
- 4.10
- 4.11 تست پذیری
- 5 بهترین آموزش کدنویسی تمیز یا Clean Code
کدنویسی تمیز چیست ؟
این جمله از مارتین فولر (از تاثیرگذارترین برنامه نویسهای دنیا) میتواند به خوبی به سوال کدنویسی تمیز چیست ؟ پاسخ دهد:
“هر نادانی میتواند کدی بنویسد که کامپیوتر بفهمد، یک برنامه نویس خوب کدی مینویسد که توسط انسان قبل فهم باشد.”
ممکن است یک پروژه توسط برنامه نویسان مختلف با روشهای متفاوتی انجام شود و قطعه کدهایی که یک برنامه نویس استفاده میکند با کدهای برنامه نویس دیگر فرق داشته باشد. وقتی اصول کدنویسی تمیز رعایت شود افراد دیگر میتوانند به راحتی عملکردهای کدها را درک کنند و در صورت نیاز آن را تغییر دهند و بروز کنند. اصول کدنویسی تمیز شامل نامگذاری مناسب، استفاده از کامنت، سادگی کدها و… است که در ادامهی مقاله بررسی خواهیم کرد.
کدنویسی کثیف چیست ؟
در نقطهی مقابل کلین کد، کدنویسی کثیف یا dirty code قرار دارد. dirty codeها کارایی یک برنامه معمولی را دارند و هنگام اجرای آنها خطایی رخ نمیدهد اما اگر نیاز به تغییر و بروزرسانی برنامه باشد توسعه دهنده با مشکلات زیادی روبرو میشود؛ زیرا مشخص نیست هر قسمت از کدها چه کارایی دارند و تغییر مدنظر روی کدام بخش باید اعمال شود. در این شرایط تیم برنامه نویسی باید زمان زیادی را صرف تحلیل جزئیات برنامه و قطعه کدها کنند تا در نهایت بتوانند تغییرات را اعمال کنند. به همین دلیل اگر از یک برنامه نویس بخواهید که یک پروژه را از ابتدا انجام دهد میپذیرد اما اگر نیاز باشد پروژه فرد دیگری را بازبینی و اصلاح کند آن را رد میکند یا با اکراه میپذیرد.
برنامه نویسان تازهکار و مبتدی معمولا به دلیل عدم آشنایی با اصول صحیح کدنویسی، برنامههایی طولانی با کدها و توابع پیچیده ایجاد میکنند که از نشانههای کدنویسی کثیف است. گاهی نیز برنامه نویسهای حرفهای به دلیل عحله برای تحویل پروژه و اتمام کار این اصول را رعایت نمیکنند و کدنویسی کثیف انجام میدهند.
بهطور کلی در فرآیند کدنویسی نباید عجله کنید بلکه باید دقت و زمان کافی را به انجام این فرآیند اختصاص دهید تا هم خروجی کار باکیفیت باشد و هم کدها به صورت تمیز نوشته شوند.
اگر شما هم یک برنامه نویس مبتدی هستید و علاقه دارید که مثل یک برنامه نویس حرفهای پروژه تحویل دهید یا یک برنامه نویس حرفهای هستید که میخواهید مهارتهای خودتان را برای کدنویسی تمیز ارتقا دهید از طریق لینکهای زیر برای دسترسی به آموزش اصول کدنویسی تمیز در لیموناد اقدام کنید.
آموزش Clean Code | کد نویسی تمیز-مدرس احسان گازار
اصول کد نویسی تمیز (Clean Code) – بخش اول-مدرس محمد راستکار
همچنین برای دسترسی به سایر آموزشهای ارزشمند حوزهی برنامه نویسی لیموناد، روی لینک زیر کلیک کنید:
مزایای کدنویسی تمیز چیست ؟
برنامه نویسان حرفهای برای ارائهی یک برنامهی اصولی از تکنیکهای کدنویسی تمیز استفاده میکنند. این کار مزایایی به همراه دارد که عبارتند از:
1- فهم آسان کدها توسط همکاران در انجام پروژههای تیمی
برای انجام پروژههای نسبتا بزرگتر ممکن است تعدادی از برنامه نویسان با هم همکاری کنند و هر فرد مسئولیت بخشی از برنامه را به عهده بگیرد. در نهایت تمام این بخشها باید به هم متصل شوند و پروژهی اصلی را تشکیل دهند. کدنویسی تمیز به افراد گروه کمک میکند که معنی کدهای دیگران را به راحتی درک کنند و بتوانند بخشهای مختلف را به سادگی به هم متصل کنند.
2- ساخت پروژههای متنباز
اگر پروژههای شما متنباز باشد و برای توسعه و بهینهسازی آن به کمک دیگران نیاز داشتهباشید این کدنویسی تمیز است که باعث سهولت انجام کار میشود و به فهم برنامه توسط توسعهدهندگان کمک میکند.
3- بازسازی و بروزرسانی کدها
ممکن است بعد از گذشت مدتی از انجام یک پروژه نیاز باشد بخشهایی از آن تغییر کند یا بروزرسانی شود. اگر اصول کدنویسی تمیز را رعایت کرده باشید، خودتان یا توسعهدهندگان دیگر به راحتی میتوانید بخشهای مختلف را تفکیک کنید و آن را تغییر دهید و نگران فراموش کردن کدها نباشید.
4-اشکالزدایی یا دیباگ برنامه (Debugigng)
اشکال زدایی برنامهای که در آن اصول کلین کد رعایت شدهباشد به آسانی انجام میگیرد؛ زیرا تمام کدها قابل فهم هستند و جست و جو سریع انجام میشود.
5- صرفهجویی در زمان و هزینه
رعایت اصول کدنویسی تمیز یا Clean Code علاوه بر مواردی که ذکر کردیم سبب صرفهجویی در زمان توسعهدهندگان و هزینههای نیروی انسانی میشود. به عنوان مثال ممکن است کشف و تغییر بخشی از یک برنامه به یک روز کامل زمان نیاز داشته باشد. این در حالی که اگر تکنیکهای کدنویسی تمیز رعایت شدهباشد در طی چند ساعت بتوان آن را اصلاح کرد.
اکنون که میدانید کدنویسی تمیز چیست ؟ و با مزایای آن آشنا شدید به بررسی اصول کدنویسی تمیز که بهتر است هنگام کدنویسی آنها را رعایت کنید میپردازیم. مهمترین نکاتی که برای یک کدنویسی تمیز باید انجام دهید عبارتند از:
سادگی و قابل فهم بودن کدها
سعی کنید تا جایی که ممکن است هنگام کدنویسی از پیچیدگی کدها، طولانی شدن بیمورد آنها و همچنین استفاده از کدهای تکراری جلوگیری کنید. برای این کار میتوانید از کلاسها، توابع و… استفاده کنید. هنگام استفاده از توابع نیز به این نکته دقت کنید که بهتر است تعداد زیادی آرگومان برای یک تابع تعریف نکنید. همچنین در صورتی که یک تابع با بدنهی طولانی تعریف کردید سعی کنید آن را به چند تابع کوچکتر تبدیل کنید.
نامگذاری متناسب
نامگذاری صحیح و مرتبط متغیرها، توابع، کلاسها و سایر المانهای برنامه با عملکردشان، کمک بسیار زیادی به خوانایی و فهم برنامهی شما میکند. استفاده از نامهای صحیح و مناسب سرعت عملیات جستوجو و ویرایش را نیز افزایش خواهد داد.
استفادهی بهجا و بهاندازه از کامنت
کامنتها (Comments) یک راه عالی برای توضیح بخشهای مختلف برنامه هستند. اما فراموش نکنید بهترین برنامه برنامهای است که تعداد کامنتهای آن بسیار کم باشد و در حدی ساده باشد که با یک نگاه بتوان به اجزای مختلف و هدف کلی آن پی برد. به عنوان مثال با نامگذاری صحیح متغیرها (هر چند که نام طولانی انتخاب کنید) دیگر نیازی به استفاده از کامنتهای غیرضروری نخواهید داشت.
کاهش وابستگیها (Dependencies)
باید سعی کنید وابستگیها را به حداقل برسانید تا اگر در آینده برنامه نیاز به تغییر داشت به راحتی قابل انجام باشد و برای یک تغییر کوچک مجبور به تغییر یک بخش بزرگ نشوید.
تست پذیری
یکی از مواردی که باید در پاسخ به سوال اصول کد نویسی تمیز چیست ؟ به آن اشاره کنیم، تستپذیری است. به طور کلی هر کدی که از جوانب مختلف قابل تست نباشد، یک کد تمیز نیست. پس بهتر است کدهای خود را از ابعاد مختلف مورد بررسی قرار دهید تا مطمئن شوید که به اندازه کافی تستپذیر هستند.
بهترین آموزش کدنویسی تمیز یا Clean Code
در این مقاله بررسی کردیم که کدنویسی تمیز چیست و چگونه با رعایت چند نکته میتوانید مانند حرفهایها برنامه بنویسید. اگر بتوانید مانند یک حرفهای برنامه بنویسید پروژههای بیشتر و بزرگتری به شما پیشنهاد میشود و افراد و سازمانهای بیشتری برای همکاری به شما مراجعه میکنند؛ چرا که اصولی و حساب شده برنامه مینویسید و با کدنویسی کثیف دیگران را به دردسر نمیاندازید. درواقع با کدنویسی تمیز شما برای انسان کد مینویسید نه ماشین. در ویدیوی زیر که بخشی از آموزش Clean Code | کد نویسی تمیز است، مدرس محترم آقای احسان گازار به خوبی دربارهی اینکه کدنویسی تمیز چیست ؟ توضیح میدهند. در نهایت با گذراندن این دوره شما یاد میگیرید که چگونه برنامه نویس بهتری باشید و کیفیت پروژههای خود را بالا ببرید.