توضیحات
کد بد هم میتواند کار کند، اما اگر تمیز نباشد میتواند ساختار یک سازمان توسعه را بر هم زده و از کار بیندازد. هر ساله ساعات زیادی و منابع قابل توجهی به دلیل کد نوشته شدهی ضعیف از بین میروند. اما چرا باید اینگونه باشد و چه راهکارهایی برای جلوگیری از این اتلاف وقت و هزینه وجود دارد؟
رابرت سی مارتین کارشناس حوزهی نرمافزار در کتاب خود با عنوان «راهنمای توسعهی مهارتهای نرمافزاری به روش چابک» یک الگوی انقلابی با کدنویسی تمیز را ارائه کرده است. او و همکارانش در این کتاب بدون مقدمه چینی روشهای ایده آلی را در توسعه نرمافزارها به روش چابک برای تمیز کردن کد، خلاصه کردهاند که شما را به درجاتی از استادی نرمافزار میرساند و اگر شما فقط روی دستورالعملهای این کتاب کار کنید، ارزشهای یک کارشناس و متخصص حوزه نرمافزار را به شما القا و شما را به برنامهنویس بهتری تبدیل خواهد کرد. این امر فقط زمانی اتفاق میافتد که روی خود و تواناییهایتان کار کنید.
در این کتاب شما با چالشهای مختلفی از جمله نوع کاری که باید انجام دهید، خواندن تعداد زیادی کد، و در مورد اینکه چه چیزی در آن کد درست و چه چیزی اشتباه است به چالش کشیده شده و دربارهی آن فکر خواهید کرد. مهمتر از همه اینها، شما برای ارزیابی مجدد ارزشهای حرفهای و تخصصی خود و تعهد به حرفهتان هم به چالش کشیده خواهید شد.
کدهای تمیز به سه بخش تقسیم شدهاند. بخش اول اصول، الگوها و تکنیکهای کدنویسی تمیز را شرح میدهد. بخش دوم شامل چندین بررسی موردی از افزایش پیچیدگی است. هر مطالعه و بررسی موردی تمرینی برای پاکسازی کد و تبدیل یک پایهی کد دارای مشکل به کد صحیح و کارآمد است. بخش سوم بخش نتیجه و بازدهی است. یک فصل منفرد و جدا حاوی فهرستی از مباحث اکتشافی جمعآوریشده در حین ایجاد بررسیهای موردی است. فصل سوم شبیه یک پایگاه دانش است که نحوهی فکر کردن ما هنگام نوشتن، خواندن و پاک کردن کد را توضیح میدهد.
در این کتاب خواننده همچنین با نحوهی تشخیص کد بد و خوب، چگونگی نوشتن کد خوب، چگونگی تبدیل کد بد به کد خوب، نحوهی ایجاد عناوین، توابع، اشیا و کلاسهای خوب، نحوهی قالببندی کد برای حداکثر خوانایی، نحوهی پیادهسازی مدیریت کامل خطا بدون پنهان کردن منطق کد، نحوهی تست واحد و تمرین توسعه تست محور و تاثیر بو( طراحی) و اکتشاف در شناسایی کد بد آشنا خواهد شد. مطالعهی این کتاب برای هر توسعهدهنده، مهندس نرمافزار، مدیر پروژه، سرپرست تیم یا تحلیلگر سیستم که علاقمند به کدنویسی بهتر هستند، ضروری است.