کتاب معماری تمیز تألیف رابرت سی. مارتین، به موضوع طراحی و معماری برنامههای نرمافزار میپردازد و به مهندسین میآموزد چگونه کدهایی واضح، درست و دقیق بنویسند تا هزینهها کاهش و عمر نرمافزار افزایش یابد. مارتین با کمک گرفتن از تجربیات پنجاهسالهاش در بالاترین سطوح برنامهنویسی، راهنماییها و دستورالعملهایی ارائه میدهد که باعث میشوند با چالشها بهخوبی مواجه شوید و در معماری درست نرمافزار به موفقیت برسید.
دربارهی کتاب معماری تمیز
در دنیای نرمافزار بهکرات پیش میآید که کدهای نرمافزارها با شلختگی نوشته میشوند. آن نرمافزار در ظاهر کار میکند ولی در پس پرده چنان بههمریخته و درهم است که کسی جرئت دست زدن به آن را ندارد. یعنی اگر خطایی رخ دهد، شایدها هفته طول بکشد تا بتوان به علت آن پی برد. ضمن اینکه نیروی انسانی زیادی باید از آن پشتیبانی کنند. این خیلی ساده بدان معناست که شرکت باید هزینهی خیلی زیادی برای افزایش دوام و طول عمر نرمافزار صرف کند. اگر فشردگی بازار و رقابت را هم در نظر بگیریم، این مدل سویههای بدتری هم خواهد داشت. از کار افتادن نرمافزار برای مدتی طولانی میتواند ضررهایی جبرانناپذیر به شرکت وارد کند و فاجعه به بار بیاورد. نکته اینجاست که همهی اینها به خاطر تمیز نبودن کدها رخ داده. بسیاری از برنامهنویسها معتقدند در وهلهی اول سرعت مهم است و باید نرمافزار را سریع کامل کرد و به بازار فرستاد. بعد میتوان برگشت و کدها را تمیز و واضح کرد. اما تجربه نشان داده این اتفاق هرگز نخواهد افتاد و آنها به همین شکل ادامه میدهند تا در نهایت به مانعهای بزرگ برخورد میکنند. رابرت سی. مارتین (Robert C. Martin)، برنامهنویس قدیمی و بزرگ آمریکا، ازجمله منتقدین این شیوه است و آن را ناکارآمد و نادرست میداند. او در کتاب معماری تمیز (Clean Architecture) تلاش کرده به برنامهنویسها اصول معماری درست نرمافزار را بیاموزد و به آنها کمک از ابتدا کدهای واضح و خوب بنویسند تا در ادامه به مشکل برنخورند.

رابرت سی. مارتین در برنامهنویسی بیش از 50 سال تجربه دارد و در پروژههای بزرگ و متنوعی حضور داشته. مارتین در این سالها با انواع نرمافزارها مواجه بوده و به نکات جالبی دست یافته. ازجمله اینکه فهمیده معماری بد و نادرست نرمافزار تا چه حد میتواند هزینهزا باشد. او در کتاب معماری تمیز به شرکتی اشاره میکند که بر اساس آمارها روند جذب نیروهای مهندسش صعودی و رو به رشد بوده. به نظر این شرکت موفق بوده، اما مشکل از جایی آغاز میگردد که معلوم میشود بهرهوریاش رشدی نداشته و هزینهی هر خط کد نوشتهشده برای این شرکت بهشدت افزایش یافته. همینطور حقوق تیم توسعه هم به شکل نمایی بیشتر شده. اگر مدیران آنجا برای نسخهی یک نرمافزار چند صد هزار دلار خرج کرده بودند، در نسخهی هشتم این رقم به 20 میلیون دلار رسیده بود. اینجاست که مارتین میفهمد فاجعهای در حال وقوع است و اگر جلوی آن گرفته نشود، سقوط و ورشکستگی حتمی است. او معتقد است این روند ناشی از اشتباه در معماری اولیهی نرمافزار بوده. این خشت کج باعث شده تا شرکت برای پشتیبانی و رفع کردن باگها و خطاها دائم مهندس نرمافزار استخدام کند. طبیعتاً دستمزدها هم بهمرور بیشتر شده تا به میلیونها دلار رسیده. مارتین در کتابش دستورالعملها و راهنماییهایی مختلف پیشنهاد میدهد که به حل شدن این موضوع کمک میکنند و باعث میشوند بهرهوری فرد و سازمان بیشتر شود.
کتاب معماری تمیز در رتبهی نخست پرفروشترین آثار بخش معماری کامپیوتر وبسایت آمازون بوده. این راهنما را ارجاسب محمدی و علیرضا کشاورز باحقیقت ترجمه و انتشارات نبض دانش آن را منتشر کرده است.
دربارهی مجموعهی رابرت سی. مارتین
مجموعهی رابرت سی. مارتین (Robert C. Martin Series)، کتابهایی هستند که به اصول اخلاقی و حرفهای در مهندسی نرم افزار میپردازند و مبانی این رشته را میآموزند. مارتین، برنامهنویس افسانهای آمریکایی، در این کتابها با زبانی ساده و راحت به برنامهنویسها نکات و دستورالعملهایی را یادآور میشود تا بازدهی خود و مجموعهشان را افزایش دهند. «کد تمیز»، «کدنویس تمیز»، «معماری تمیز»، «چابک تمیز» و «مهارت تمیز» ازجمله آثاری هستند که از این سری به چاپ رسیدهاند.
کتاب معماری تمیز برای چه کسانی مناسب است؟
مطالعهی این کتاب به برنامهنویسان، مدیران و معماران نرمافزار و دیزاینرهای سیستم پیشنهاد میشود.
در بخشی از کتاب معماری تمیز: راهنمای استادی در طراحی و ساختار نرم افزار میخوانیم
ادسگر وایب دیجکسترا، در سال 1930 در رتردام متولد شد. وی در جنگ جهانی دوم، از بمباران شهر رتردام، جان سالم به در برد، زمانی که آلمان، هلند را اشغال کرده بود. او در سال 1948 دوران دبیرستان خود را با بالاترین نمره در درسهای ریاضی، فیزیک، شیمی و زیستشناسی به اتمام رساند. در مارس 1952، در سن 21 سالگی (و 9 ماه قبل از تولد من)، شغلی در مرکز ریاضیات آمستردام بعنوان اولین برنامهنویس هلندی بدست آورد. دیجکسترا در سال 1955، به عنوان کسی که به مدت سه سال به شغل برنامهنویسی مشغول بوده و البته در آن زمان هنوز هم دانشجو بوده، به این نتیجه میرسد که چالش ذهنی برنامهنویسی، بزرگتر از چالش ذهنی فیزیک نظری است. در نتیجه، برنامهنویسی را بعنوان کسب و کار بلندمدت خود انتخاب مینماید.
او در سال 1957، با ماریا دبتز، ازدواج میکند. در آن زمان، طبق آداب و رسوم کشور هلند، در مراسم خواستگاری، میبایستی حرفه خود را بیان میکردید. بزرگترها، میلی به پذیرش برنامهنویس (شغلی مانند شغل دیجکسترا) نداشتند، آنها هنوز نام این شغل را نشنیده بودند. دیجکسترا برای قانع کردن آنها، فیزیکدان نظری را بعنوان شغل خود اعلام کرد. او، در فرایند تصمیم گیری برای انتخاب برنامهنویسی بعنوان شغل، با رئیس خود (ادریان ون یجنگاردن) مشورت کرد. دیجکسترا از این نگران بود که هیچ کسی، علم یا حوزهای به نام برنامهنویسی را نمیشناسد و به این دلیل کسی او را جدی نخواهد گرفت. رئیس در پاسخ به او گفت: دیجکسترا میتواند کسی باشد که این حوزه را کشف کند و نرمافزار را به علم تبدیل کند. دیجکسترا، شغلش را در عصر لولههای خلاء آغاز نمود، زمانی که کامپیوترها، بزرگ، شکننده، کند، فاقد اطمینان و (طبق استانداردهای امروزی) بشدت محدود بودند. در آن سالهای اولیه، برنامهها بصورت دودویی یا به زبان مطلقا اسمبلی نوشته میشدند. ورودی، بصورت فیزیکی یعنی نوار کاغذی یا کارت پانچ به کامپیوتر داده میشد. حلقه ویرایش/کامپایل/تست، اگر چندین روز طول نمیکشید، حتما ساعتها زمان لازم داشت.
بله































