ممکن است کدهای که بد نوشته شده اند نیز بازده داشته باشند و کار برنامهنویس را راه بیاندازند، اما اجرا کردن اینگونه کدها میتواند یک شرکت و یا استارتاپ را از حرکت بازدارد و نیاز به توضیح نیست که هر ساله زمان بسیار زیاد و منابع هنگفتی صرف رفع ضررها و زیانهای ناشی از بهکارگیری کدهای غیرحرفهای در برنامهنویسی میشود.
امروز قصد داریم با معرفی کتاب Clean Code روش های نوشتن کدهای برنامه نویسی خوب و ماژولار آشنا شویم.این کتاب یک انقلاب در مهندسی نرم افزار می باشد.
این کتاب سعی دارد توسعهی نرمافزار به روش چابک (Agile) را به شما آموزش دهد. داستان نوشتن کتاب از آنجا شروع شد که رابرت.سی.مارتین (Robert C. Martin) نویسندهی این کتاب، مدتها قبل، سردمداران تفکرِ اجایل را به یک دورهمی دوستانه دعوت کرد. هدف اصلی این دورهمی بررسی نقاط اشتراک متدهای توسعه نظیر اسکرام، کریستال، ایکس.پی، پراگماتیک و … بود.
نهایتاً نتیجهی این گردهمایی به نامگذاری متدها و طبقهبندی روشهای مختلف زیر پرچمی تحت عنوان اجایل/چابک (یا Adaptive) منتهی شد. از دیگر ثمرات این جلسه، توافق بر سر ۴ ارزش (Value) کلیدی و ۱۲ اصل(Principle) دیگر مبتنی بر ارزشهای فوق بود که میتوانید در اجایلمانیفستومطالعه کنید.
رابرت.سی.مارتین به کمک سایر همکارانش در موسسهی Object Mentor روشهای مختلف کدنویسی را بررسی کرده و بهترین موارد را استخراج کردند. این روشها به تدریج روی هم تلنبار شد و نهایتاً در قالب کتاب Clean Code در اختیار عموم برنامهنویسان قرار گرفت.(دوره های آموزش برنامه نویسی).
مفاهیم این کتاب تا آنجا مورد توجه توسعهدهندگان قرار گرفت که در مدت کوتاهی به یکی از پرفروشترین کتابهای آمازون تبدیل شد. رابرت.سی.مارتین با تکیه بر اصول اجایل، نکاتی را در کتابش مطرح کرد که باعث تمییزتر شدن کدها، نگهداری آسانتر، درک بهتر منطق برنامه و بهبود عملکرد آن میشود.
در این کتاب روش نوشتن کدهای ماژولار، چگونگی اشکالزدایی برنامه، نحوهی استفاده از توسعهی آزمون محور (TDD: Test Driven Development) و … نیز آموزش داده میشود.
هر مبحثی در مهندسی نرمافزار زاییده نیاز است. معماری برنامه، الگوهای طراحی، استانداردهای نامگذاری، الگوریتمها و … همگی به مرور زمان و بر حسب نیاز خلق شدهاند. تا زمانی که بارها در اثر بروزرسانی کدهای برنامه، قابلیتهای پیشین آن با خطا مواجه نشود، اهمیت تست برنامه بخصوص آزمون واحد (Unit Test) را درک نمیکنید.
تا زمانی که نامگذاری بد و دردسرهای نافهمی یا کجفهم کد را تجربه نکنید، اهمیت استانداردهای نامگذاری را درک نمیکنید. اینها را قبلاً افراد دیگری تجربه کردهاند. پس بهتر است از تجربیات ارزشمند آنها استفاده کنیم. به همین خاطر Clean Code را پیشنهاد میکنم بخوانید.