در غیاب شما این کدهایتان هستند که شما را معرفی میکنند؛ درست است که رعایت اصول و قوانین برنامهنویسی اهمیت بالایی دارد اما تمیز و مرتب نوشتن همین اصول و قوانین هم بسیار مهماند و در واقع شخصیت شما را نشان میدهند در وهله اول به خودتان و بعد به توسعه دهندۀ دیگری که قصد نغییر و آپدیت کردن کدهای شما را دارد. پس بیایید یاد بگیریم کد تمیز چیست ؟ چرا کدنویسی تمیز مهم است؟ و چگونه کدهای تمیزی بنویسیم؟ اصول و قوانین این کار چیست؟
کد تمیز (Clean Code) چیست؟
کد تمیز شامل آن دسته از کدهایی است که قابلیت خوانایی بسیار بالایی دارند و به راحتی میتوان آن را فهمید و هر کد را که بخواهیم به راحتی پیدا کنیم و تغییر دهیم. اما تا به حال قطعا برایتان اتفاق افتاده که وارد اتاق نامرتب خود شوید و برای پیدا کردن وسیلهای کل اتاق را زیر و رو کنید و در آخر هم آن را نیابید و مجبور باشید از اول اتاق را مرتب کنید تا وسیلۀ مورد نظرتان را بیابید.
این ماجرای اتاق نامرتب فراوان برای برنامهنویسانی که کدهای تمیزی نمینویسند رخ میدهد و گاها مجبور بودهاند ساعتها پای چند خط کد خود بنشینند و آنها را مرتب کنند تا آن خط کد موردنظرشان را بیابند.
کد کثیف (Dirty Code) چیست؟
اصطلاح کد کثیف درست مقابل کد تمیز قرار میگیرد؛ به کدی که رویههای تکراری در آن وجود داشته باشد و همچنین به صورت نامرتب و نامنظم نوشته شده باشد کد کثیف میگویند.
به یاد داشته باشید که شما کدها را برای انسان مینویسید نه برای کامپیوتر!
منظور از این جمله این است که کامپیوتر نظم کدها برایش اهمیت ندارد رعایت قوانین و سینتکس زبان موردنظر است که برای کامپیوتر مهم است.
این کدنویسی تمیز برای انسان است وقتی کدهای شما تمیز نوشته شده باشند و از کثیف نوشتن خودداری کنید کار خود و توسعه دهندۀ بعدی را راحت کردهاید.
چرا کد کثیف نوشته میشود؟
کدنویسی کثیف دلایل متعددی دارد در ادامه دو دسته کلی از این دلایل را به شما خواهیم گفت:
مبتدی بودن برنامه نویس
در ابتدای مسیر یادگیری برنامهنویسی، برنامهنویسان تازه کار معمولا به کدنویسی تمیز توجهی ندارند و بیشتر دنبال یادگیری نحو و قوانین برنامهنویسی هستند.
معمولا برای نام متغیرها اسامی را به خوبی انتخاب نمیکنند و حتی بعضی از برنامهنویسانی که زبان انگلیسی خوبی ندارند از نامگذاریهای فینگلیش استفاده میکنند.
مثل: In safehe aval ast.
البته این موارد در ابتدای کار برنامهنویس دیده میشود آنجا که فرد در حال یادگیری الگوریتم و قوانین برنامهنویسی هستند به مرور این اشکالات هم از بین خواهد رفت.
پیروی از اصول کدنویسی تمیز
همانطور که گفتیم کدهای ما قرار است توسط انسان فهمیده شود، کامپیوتر نهایتا آنها را به صفر و یک تبدیل میکند و برای آن مهم نیست کد شما تمیز نوشته شده است یا نه!
شاید کدی که نوشتهاید توسط خود شما قابل فهم باشد اما در اکثر موارد اگر بعد از مدتی به کدهایتان برگردید و به طور اتفاقی آنها را به صورت نامرتب و نامنظم نوشته باشید متوجه آن کدها نخواهید شد.
در این صورت آیا ممکن است شخص دیگری متوجه آن کدها شود؟
ممکن است شما در حال انجام یک پروژه تیمی باشید و قسمتی از کار را برعهده داشته باشید اگرکدهای تمیزی ننویسید هم تیمی های شما متوجه آن کد نخواهند شد و این مشکل باعث کند شدن روند پروژه میشود و حتی بعدها در توسعۀ آن پروژه هم دردسر ایجاد میکند.
قواعد کدنویسی تمیز
قاعدتا قواعد و دستوراتی برای کدنویسی تمیز وجود دارد که با استفاده از آنها برنامهنویسان بتوانند کدهای مرتب و خوانایی بنویسند در ادامه به چند مورد از این قواعد اشاره خواهیم کرد:
نامگذاری صحیح متدها و متغیرها
انتخاب نام مناسب و مربوط به متغیر و متد موردنظر یکی از شاخصهای مهم کدنویسی تمیز است.
وقتی که کدهای نوشته شدۀ شما قرار باشد توسعه یابند این مورد بسیار به چشم خواهد آمد و اگر نامهای مناسبی انتخاب نکرده باشید کار بسیار سخت و طاقت فرسا خواهد شد.
در این باب به یک سری نکات باید توجه کرد:
1. از یک روش ثابت برای نامگذاری استفاده کنید می توانید از حالت camelCase یا under_score استفاده کنید با هرکدام که راحتتر هستید کار کنید اما خواهشا یک مورد را انتخاب کنید و تا پایان از همان استفاده کنید.
2. برای انتخاب نام مناسب به کاری که قرار است آن متغیر یا متد انجام دهد توجه داشته باشید مثلا اگر قرار است متد کار دریافت اطلاعات را انجام دهد در ابتدای نام آن از getاستفاده کنید. مانند: getStudentId
کامنت موثر بگذارید!
طبق یک دیدگاه کمالگرایانه کدها باید به صورتی نوشته شوند که همیشه قابل فهم باشند و با نگاه به آنها بتوان آنها را درک کرد و آن خط کد باید خود را توضیح دهد، طبق این دیدگاه نباید کامنتی را به عنوان توضیح برای آن خط کد نوشت؛ اما این اشتباه است در واقع با نوشتن یک کامنت کوتاه بعدها به راحتی با نگاه به آن کامنت خیلی سریعتر میتوانید دلیل وجود آن خط کد را بفهمید و در وقت خود صرفه جویی کنید.
در واقع شما باید از نوشتن کدهای غیر ضروری خود داری کنید در مقابل میتوانید با نوشتن چند کلمه ساده کنار کدتان بعدا از آن برای فهم کد استفاده کنید.
خوانا بنویسید!
بسیاری از برنامهنویسان تصور میکنند اگر کدها را پشت سر هم در یک خط بنویسند کار درستی انجام دادهاند و در واقع هیچ فرورفتگی، شکستگی و فضای خالی در صفحه کد این افراد نخواهید دید؛ اما این کار بسیار اشتباه است خود شما به عنوان نویسنده این کدها اگر چند روز بعد برای ایجاد تغییری به این کدها برگردید خط های بلندی را میبینید که نه خوانده میشوند و نه قابل فهم.
پس با توجه به کدهایتان و اعمال آنها از فرورفتگی ها، شکستگی ها وفضاهای خالی مناسبی استفاده کنید.
بازبینی متعدد کدها
کدهایتان را چندین بار مرور کنید و تمام باگ هایی که میدهد را بررسی کنید تا توسعۀ دهندگان دیگر مجبور به این کار نباشند.
همچنین خروجی کدهایتان را چندین بار ببینید و بر روی دیگر دیوایس ها نیز خروجی را ببینید مثل موبایل، تبلت و ...
توابع چند کاره و بزرگ ننویس!
به شدت از نوشتن توابع بزرگ پرهیز کنید در روند کار متدها کم کم شروع به رشد میکنند در نهایت شما با توابعی بزرگ رو به رو میشوید که ممکن است بعدا نتوانید آن را بفهمید و تغییر دهید پس سعی کنید این توابع بزرگ را به توابع کوچکتر بشکنید تا بعدا راحتتر متوجه آن شوید.
پرهیز از ترکیب کردن زبانهای برنامهنویسی
با توجه به پروژه موردنظر زبان برنامهنویسی موثر را انتخاب کنید و با همان زبان کدهایتان را پیاده سازی کنید.
به طور مثال اگر به دو زبان جاوا و پایتون مسلط هستید با توجه به کاربرد پروژه خود زبان مناسب را انتخاب و با همان زبان کدهایتان را بنویسید.
وسواسی رفتار نکن!
ممکن است بعضی از برنامهنویسان نسبت به تمیزی کدهای خود وسواسی رفتار کنند و به اصطلاح از این طرف بوم بیافتند و این کار آنها نتیجه برعکسی بدهد و روی بهره وری و بهینه بودن کدهای آنها اثر منفی بگذارد.
کتاب Clean Code
هر مطلبی که در این مقاله بیان شد بخش کوچک و کوتاهی بود که با رعایت همین موارد هم میتوانید کدهای خوانا و تمیزی بنویسید اما برای یادگیری بیشتر چگونگی کدنویسی تمیز میتوانید به کتاب clean code اثر رابرت سی مارتین مراجعه کنید.
نتیجه
همیشه تصور میشد کسی که بتواند خوب کد بنویسد و نحو و قوانین کدنویسی را رعایت کند برنامهنویس حرفهای و کاربلدی است اما امروزه برنامهنویسی حرفهای خوانده میشود که خودش بتواند پروژههایش را توسعه دهد و آنها را آپدیت کند.
قطعا این مهم با تمیز نوشتن کدهای برنامهاش رابطه مستقیم دارد و بسیار میتواند سبب صرفه جویی در وقت و امکانات شود. اگر به دنبال آموزش رایگان برنامه نویسی هستید ، وبسایت کد یاد رو به شما پیشنهاد میکنیم.
همیشه در شروع نوشتن کدهایتان نقشه ذهنی خوبی برای خودتان طراحی کنید قطعا این یک قدم مهم برای نوشتن کدهای خوانا وتمیز خواهدبود. در ادامه با به کارگیری اصول کدنویسی تمیز پروژه خود را پیش ببرید.
نویسنده : فاطمه سلیمانی