Clean Code: کتاب راهنمای توسعهٔ نرم‌افزار به روش اجایل

Clean Code: کتاب راهنمای توسعهٔ نرم‌افزار به روش اجایل

Robert C. Martin، مؤسس و مدیر شرکت Uncle Bob، برای سال‌های طولانی در زمینۀ مشاورۀ توسعهٔ نرم‌افزار از عملکرد بسیار موفقی برخوردار بوده و این در حالی است که وی مطالعات موردی متعددی در رابطه با روش‌های اجایل (چاپک) توسعهٔ نرم‌افزار انجام داده است که در نتیجه وی در سال 2009 کتاب Clean Code را توسط انتشارات Prentice Hall به چاپ رسانید که با اقبال خوبی مواجه شد.

ممکن است کدهای بَد هم بازده داشته باشند و کار برنامه‌نویس را راه بیاندازند، اما دیپلوی کردن این‌گونه کدها می‌تواند یک شرکت بزرگ را کاملاً به زمین بزند! و نیاز به توضیح نیست که هر ساله زمان بسیار زیاد و منابع هنگفتی صرف رفع ضررها و زیان‌های ناشی از به‌کارگیری کدهای غیرحرفه‌ای در برنامه‌نویسی می‌شود.

Clean Code: A Handbook of Agile Software Craftsmanship نام کتابی است که در آن Robert C. Martin مبحثی کاملاً نو و انقلابی در رابطه با کدنویسی ارائه کرده است. مارتین با جمعی از دیگر همکارانش از مؤسسهٔ Object Mentor کار خود را شروع کردند و از این طریق به‌ تدریج بهترین روش‌های کدنویسی را که عملاً به‌ کار گرفته می‌شود، در کتاب فوق‌الذکر جمع‌آوری نمودند. به عبارت دیگر، این کتاب نکات مورد نیاز برای تبدیل شدن به یک استاد مسلط بر برنامه‌نویسی را در اختیار مخاطب قرار می‌دهد (البته این مهم در صورتی اتفاق می‌افتد که به‌ عنوان یک دولوپر کنجکاو بر روی مباحث کتاب کار کرده و صرفاً روزنامه‌وار آن‌ها را نخوانید!)

چه‌طور به شکلی اثربخش کتاب Clean Code را مطالعه کنیم؟
در پاسخ به این سؤال بایستی گفت که تعداد بسیار زیادی سورس‌کد در این کتاب معرض دید مخاطب قرار داده شده، سپس وی به چالش کشیده می‌شود تا کدهای مناسب و درست را گزینش کرده و در نهایت کدهای اشتباه را کنار بگذارد. فراتر از این، با استفاده از این کتاب شما برای ارزیابی مجدد ارزش‌ها و تعهدات حرفه‌ای خود در کارتان به چالش کشیده می‌شوید.

کتاب Clean Code به سه بخش تقسیم شده است؛ بخش اول به اصول، نمونه‌ها و روش‌های مختلف توسعهٔ نرم‌افزار می‌پردازد و بخش دوم هم به مطالعات موردی مختلف در رابطه با پیچیدگی فزاینده در دنیای کدنویسی اختصاص داده شده است (هر Case Study در واقع تمرینی برای انتخاب کد مناسب است؛ به این معنی که چگونه کد نامناسب و دارای مشکل را به کد مفید و کارآمدی تبدیل کنیم.) سومین بخش کتاب هم شامل چکیده‌ای از مباحث طرح شده در این کتاب است؛ یعنی لیستی از نکات و مواردی که در پروسۀ انجام مطالعات موردی، استخراج و جمع‌آوری شده‌اند.

یک دولوپر پس از مطالعهٔ  Clean Code چه دیدی به دست می‌آورد؟
مهم‌ترین دستاورد دولوپرها پس از خواندن این کتاب، کسب دانش مورد نیاز برای فکر کردن، نوشتن، خواندن و انتخاب کدهای مناسب از کدهای نامناسب است. به طور کلی، توانایی‌هایی که برنامه‌نویس پس از خواندن این کتاب به‌ دست می‌آورد عبارتند از:

- چگونگی تشخیص کد خوب از کد بَد
- چگونگی نوشتن کد خوب و چگونگی تبدیل کد بَد به کد خوب
- چگونگی بهبود پرفورمنس نرم‌افزار
- چگونگی ماژولار کردن سورس‌کد برای بالا بردن قابلیت خوانایی آن
- چگونگی رفع کامل خطاها بدون بروز مشکل در منطق سورس‌کد
- چگونگی انجام تست برای تشخیص کد مناسب و اِعمال روش برنامه‌نویسی تست-محور

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