رابرت سی. مارتین در کتاب کدنویس تمیز، به برنامهنویسان یاد میدهد که چطور حرفهای به نظر برسند و با دیگر اعضای تیم و مشتریان تعاملاتی حرفهای برقرار سازند. این کتاب دستورالعملهایی اخلاقی، راهنماییها، تکنیکها، ابزارها و تمریناتی را پیشنهاد میدهد که به مهندسین نرمافزار کمک میکنند سطحشان را از تکنسینی معمولی ارتقا دهند و به دنیای حرفهای گام بگذارند.
دربارهی کتاب کدنویس تمیز
در سال 1986، فضاپیمای چلنجر، چند ثانیه پس از پرتاب، به خاطر نقص فنی منفجر شد و فاجعهای انسانی رخ داد. 7 فضانورد درون این فضاپیما بلافاصله جانشان را از دست دادند و یک پروژهی چندسالهی تحقیقاتی به شکست کامل انجامید. بررسیها نشان داد که نقص در بوستر جامد راکت سمت راستی باعث این حادثه شد. در قطعات این راکت حلقهای O شکل وجود داشت که در آن روز نتوانستند مانع از نشت گاز داغ شوند. مسأله اینجا بود که مهندسین ناسا و سازندگان این حلقه میدانستند این قطعه مشکل دارد و پیشتر هم نقص آن را دیده بودند. پیش از پرتاب چلنجر این متخصصین با مدیران بالادستیشان جلسه گذاشتند تا عملیات به تعویق بیافتد. ولی مدیران به بهانهی فشار سیاسی و مالی این پیشنهاد را نپذیرفتند. مهندسین هم پافشاری نکردند تا در نهایت، این فاجعه رخ دهد.
در این حادثه مهندسین مقصر نبودند، چون سعی کردند مانع از اتفاق شوند. ولی آیا رفتارشان حرفهای بود؟ به نظر میرسد که نه. آنها به خاطر اینکه نتوانستند به مدیرانشان «نه» بگویند و بر روی حرفشان بمانند، رفتاری غیرحرفهای از خود نشان دادند. رابرت سی. مارتین (Robert C. Martin)، مهندس نرمافزار و برنامهنویس بزرگ آمریکایی این رفتار را در میان متخصصین رایج میداند و آن را نقد میکند. او اعتقاد دارد که نتیجهی این رویکرد غیرحرفهای میتواند هولناک باشد و آسیب زیادی به افراد و سیستم وارد کند. مارتین در کتاب کدنویس تمیز (The Clean Coder) میکوشد اصول رفتار حرفهای را به برنامهنویسها یاد بدهد و به آنها کمک در تعاملاتشان حرفهایتر به نظر برسند.

رابرت سی. مارتین کتابش را با یک پرسش اساسی آغاز میکند: به چه کسی متخصص نرمافزار میگویند؟ او میگوید یک متخصص چند شاخصه مهم دارد: رفتارش حرفهای است، میداند چطور و کجا «نه» بگوید، قادر است با انواع فشارها کنار بیاید و نمیگذارد بر رویش تأثیر بگذارند، بلد است با مدیران غیرمنطقی کار کند و زمانبندیها و برنامههای سخت را مدیریت میکند. اما همهی اینها برای او توام با صداقت، احترام، عزتنفس و غرور است. به تعبیر دیگر، فرد حرفهای در عین مقاومت در برابر فشارها و تعامل با مدیرانش، نباید تن به هر شرایطی بدهد و اصول انسانی و اخلاقی را زیر پا بگذارد. و این نشاندهندهی یک کار خوب و تمیز است. مارتین در کتاب کد تمیز، دستورالعملها، نکات، راهنماییها، استراتژیها و ابزارهایی پیشنهاد میدهد که به این مهم کمک میکنند. او به برنامهنویس یاد میدهد چطور از تکنسینی پاییندست به کدنویسی قدرتمند و حرفهای تبدیل شود.
کتاب کد تمیز را ارجاسب محمدی و علیرضا کشاورز باحقیقت برای انتشارات نبض دانش ترجمه کردهاند.
دربارهی مجموعهی رابرت سی. مارتین
مجموعهی رابرت سی. مارتین (Robert C. Martin Series)، کتابهایی هستند که به اصول اخلاقی و حرفهای در مهندسی نرمافزار میپردازند و مبانی این رشته را یاد میدهند. مارتین، برنامهنویس افسانهای آمریکایی، در این کتابها با زبانی ساده و راحت به برنامهنویسها نکات و دستورالعملهایی را یادآور میشود تا بازدهی خود و مجموعهشان را افزایش دهند. «کد تمیز»، «کدنویس تمیز»، «معماری تمیز»، «چابک تمیز» و «مهارت تمیز» از جمله آثاری هستند که از این سری به چاپ رسیدهاند.
نکوداشتهای کتاب کدنویس تمیز
- درسهای این کتاب را بخوانید، یاد بگیرید و زندگی کنید، آنوقت میتوانید بهراستی خودتان را مهندس نرمافزار بدانید. (جورج بولاک، مدیر برنامهی ارشد مایکروسافت)
- این کتاب چیزی بیش از مجموعه قوانین و راهنماست. در آن خرد و دانشی است که معمولاً بهواسطهی سالها شاگردی و آزمونوخطا به دست میآید. بهعنوان یک مهندس نرمافزار حرفهای باید حتماً این کتاب را بخوانید. (آر. ال. بوگتی، دیزاینر ارشد سیستم)
کتاب کدنویس تمیز برای چه کسانی مناسب است؟
این راهنما به متخصصین نرمافزار و برنامهنویسهای حرفهای پیشنهاد میشود.
در بخشی از کتاب کدنویس تمیز میخوانیم
از نظر من، شما به این دلیل کتاب جاری را در دست گرفتهاید که یک برنامهنویس کامپیوتر هستید و با مفهوم حرفهایگرائی مواجه شدهاید. شما باید حرفهای باشید. حرفهایگرائی، چیزی است که حرفه ما شدیدا به آن نیازمند است. من نیز یک برنامهنویس هستم. من به مدت 42 سال به این حرفه مشغول هستم و در این دوره – به شما خواهم گفت همه چیز را تجربه کردم. اخراج شدم. به من خندیدند. رهبر تیم، مدیر تیم، عضو تیم و حتی مدیر عامل بودم. با برنامهنویسان سطح بالا و با برنامهنویسان خام و تنبل کار کردم. بر روی سیستمهای تعبیه شده پیشرفته نرمافزاری/سختافزاری کار کردم. روی سیستمهای پرداخت حقوق شرکتی هم کار کردم. به زبانهای کوبول، فرترن، بال، PDP-8، PDP-11، سی، سی پلاس، جاوا، رابی، اسمال تاک و بسیاری زبانها و سیستمهای دیگر برنامه نوشتم. با سارقین چک کار کردم و با متخصصین سطح بالا هم کار کردم. این دستهبندی آخر، موضوع کتابمان است. در صفحات این کتاب، سعی میکنم تعریفی از برنامهنویس حرفهای ارائه دهم. نگرشها، انضباط و اقداماتی که پیشنیازهای حرفهای بودن هستند را بیان میکنم.
بنظرتان چطور با این مفاهیم آشنا شدم، نگرش، انضباط و اقدام؟ چونکه مجبور شدم آنها را بسختی یاد بگیرم. خواهید دید از زمانی که در اولین شغلم بعنوان برنامهنویس مشغول کار شدم، حرفهای بودن، آخرین کلمه ایست برای که توصیف من به کار خواهید برد. سال 1969 بود، 17 سال داشتم. پدرم مالک یک کسب و کار خرده فروشی محلی به نام ASC بود که مرا بعنوان یک برنامهنویس پاره وقت موقت استخدام کرد (بله، پدرم، میتوانست چنین کارهایی انجام دهد. یک بار دیدم جلوی یک خودروی در حال حرکت با سرعت بالا دوید و دستش را به نشانه دستور توقف بالا برد. یادم است خودرو ترمز کرد. بله، کسی به پدر من نه نمیگفت). من در اتاقی مشغول به کار شدم که همه راهنماهای رایانههای آیبیام در آن نگهداری میشدند. من بایستی چندین سال بروزرسانی را روی این راهنماها اعمال میکردم. آن زمان بود که اولین بار با عبارت "این صفحه، عمدا خالی در نظر گرفته شده است" مواجه شدم.
بله




























