clean code چیست؟

clean code
برنامه نویسی وب مقالات

clean code چیست؟

clean code  اگر از یک برنامه نویس بخواهید کدی طولانی برای بخشی از یک پروژه بزند احتمالا از پیشنهاد شما استقبال کند. اما اگر به او بگویید که این کد آماده است و او باید آن را دستکاری کند، احتمالا تمایلی نشان ندهد و یا با اکراه آن را بپذیرد.

دلیل این امر این است که بسیاری از ما به گونه ای که عادت داریم برنامه نویسی می‌کنیم درحالیکه ممکن است فهم و اصلاح آن برای دیگران سخت باشد. در این مقاله از تدریس24 بررسی می‌کنیم که کدنویسی تمیز یا clean code چیست و درباره اصول آن صحبت می‌کنیم.

clean code چیست؟

 

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

در متدولوژی هایی مانند چابک (Agile) کدنویسی تمیز ضروری به نظر می‌رسد زیرا اعضای تیم، در بسیاری از موارد ناچار به تکمیل و اصلاح کدهای یکدیگر هستند. کد کثیف (Dirty Code) اصطلاحی است که در برابر کدنویسی تمیز وجود دارد. عدم رعایت اصول کدنویسی تمیز، بی نظمی و استفاده از رویه‌های تکراری کد شما را به Dirty Code تبدیل می‌کند.

clean code
اهمیت استفاده از اصول clean code چیست؟

clean code کدنویسی تمیز اهمیت زیادی در هزینه زمانی و نیروی انسانی تیم‌های فنی دارد. طبق تحقیقاتی که انجام شده معمولا توسعه دهندگان 30 تا 40 درصد زمان خود را صرف نوشتن کدهای جدید می‌کنند. این در حالی است که حدود 60 درصد از زمان آن‌ها صرف نگهداری و اصلاح (Debug) کدها می‌شود.

اصول کدنویسی تمیز چیست؟

سادگی کدها (KISS) : Keep It Simple Stupid یکی از اولین اصول در کدنویسی تمیز و به این معنی است که از پیچیدگی بیش از حد کدها بپرهیزیم و در ساده‌ترین شکل ممکن برنامه نویسی کنیم. بنابراین سعی کنید توابع را در ساده‌ترین شکل ممکن بنویسید و تاحد ممکن از اضافه کردن پیچیدگی‌های بی مورد دوری کنید.

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

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

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

عدم کامنت گذاری : اگر در کد خود کامنت‌های زیادی می‌گذارید احتمالا اشتباهی در کار است. کد شما باید به قدری واضح باشد که نیازی به توضیحات اضافه نداشته باشد.

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

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

کاهش وابستگی‌ها : بهتر است وابستگی‌ها (Dependencies) درپروژه کم باشد تا نگهداری و تغییر دادن آن در آینده راحت باشد.

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

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

نکاتی برای شروع فرایند کدنویسی تمیز

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

مطالعه الگوریتم‌های طراحی

الگوریتم‌ها (Algorithm) تعیین می‌کنند که یک مسئله را چگونه باید حل کنید. بنابراین برنامه نویسانی که دراستفاده از الگوریتم‌ها و نوشتن الگوریتم‌های جدید مهارت داشته باشند، در مرحله پیاده سازی نیز موفق‌تر خواهند بود.

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

اهمیت مطالعه ساختمان داده‌ها در clean code چیست؟

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

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

مطالعه الگوریتم‌های طراحی

الگوریتم‌ها (Algorithm) تعیین می‌کنند که یک مسئله را چگونه باید حل کنید. بنابراین برنامه نویسانی که دراستفاده از الگوریتم‌ها و نوشتن الگوریتم‌های جدید مهارت داشته باشند، در مرحله پیاده سازی نیز موفق‌تر خواهند بود.

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

 اهمیت مطالعه الگوهای طراحی در clean code چیست؟

الگوهای طراحی (Design Patterns) راه حل‌های ثابتی برای مشکلات رایج برنامه نویسی دراختیار شما قرار می‌دهند و به شما امکان استفاده از یک معماری قابل اطمینان را می‌دهند. تسلط داشتن بر دیزاین پترن‌های مختلف می‌تواند بسیاری از باگ‌های احتمالی را در برنامه نویسی کاهش دهد و باعث ارتقا سطح فنی کدها شود.

حرف آخر

clean code نکته مهم این است که در فرایند کدنویسی تمیز اساسی‌ترین بخش، طراحی مسیر و نقشه ذهنی پیش از آغاز فرایند برنامه نویسی است. بهتر است قبل از شروع الگوریتم‌های کلی، بدانید که چه راهی برای پیاده سازی مسئله پیش رو راحت‌تر است.

سپس با تکیه بر اصول Clean Code کدهای خود به تمیزترین شکل ممکن پیاده سازی کرده و در اختیار مدیر پروژه قرار دهید. تفاوت Clean Code و Dirty Code در پروژه هایی با تعداد خطوط کد بالا بسیار واضح است. برخی از کتاب‌های کاربردی در حوزه کدنویسی تمیز و برنامه نویسی در این مقاله از تدریس24 برای شما جمع آوری شده اند.

دیدگاه خود را اینجا قرار دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اعضا

‫بروز رسانی

سمیرا مردانی's بروزسانی مشخصات انجام شد 1 سال, ماه 2 قبل

محمد جواد محمدی's بروزسانی مشخصات انجام شد 1 سال, ماه 2 قبل

مریم نوری's بروزسانی مشخصات انجام شد 1 سال, ماه 2 قبل

محمد امین طاهری's بروزسانی مشخصات انجام شد 1 سال, ماه 2 قبل

نگار حجتی's بروزسانی مشخصات انجام شد 1 سال, ماه 2 قبل

فیلدهای نمایش داده شده را انتخاب کنید. دیگران مخفی خواهند شد. برای تنظیم مجدد سفارش ، بکشید و رها کنید.
  • عکس
  • شناسه محصول
  • امتیاز
  • قیمت
  • در انبار
  • موجودی
  • افزودن به سبد خرید
  • توضیحات
  • محتوا
  • عرض
  • اندازه
  • تنظیمات بیشتر
  • ویژگی ها
  • ویژگی های سفارشی
  • زمینه های دلخواه
برای پنهان کردن نوار مقایسه ، بیرون را کلیک کنید
مقایسه
مقایسه ×
Let's Compare! Continue shopping