نوشتن کد ساده واقعا آسان است، اما ما آن را یک امر پیچیده می‌سازیم. هنگامی که بتوانیم بر این تصور غلط غلبه کنیم، نه تنها کد ما ساده‌تر و پاکیزه‌تر می‌شود، بلکه ما نیز به عنوان یک توسعه‌دهنده بزرگ رشد می‌کنیم.

اجازه دهید توضیح دهیم.

در طی برنامه‌نویسی، حقیقتی بر من آشکار شد که "هرگز کد مشابه‌ای را دو بار ننویسم".

شما باید کد خود را بازنویسی کنید و آن را برای استفاده مجدد "بسیار خوب" بسازید. کد را طوری بنویسید که بتواند توسط هر توسعه‌دهنده دیگری مورد استفاده قرار گیرد. توسعه‌دهندگان بزرگ کد خود را به عنوان میراثی ماندگار بر جای می‌گذارند.

کدهایی که ما می‌نوشتیم به تدریج به توده‌های زشت و ترسناکی تبدیل می‌شد که تقریبا درک و تفسیر آن غیرممکن می‌شد. ما روزها و ماه‌ها را برای اصلاح و احیای کدهای خود تلف می‌کردیم.

برنامه‌نویسی سخت است. وقتی شما برنامه‌ای را می‌نویسید، می‌تواند از یک خط تا چندین خط کد باشد، و شما اشتباهات را پشت سر هم انجام می‌دهید. گاهی اوقات آن‌ها بزرگ هستند، گاهی اوقات کوچک هستند، اما اندازه آن‌ها مهم نیست، در هر حال پیدا کردن و عیب‌یابی آن‌ها زمان‌بر است. گاهی اوقات شما نیاز به کمک دارید تا بتوانید از گرداب خطرناک "بی‌نظمی" بیرون بیایید که این امر به شما سرعت می‌بخشد.

مفهوم اردک پلاستیکی اولین بار توسط Deane Parker ذکر شد، که او تمرین ارائه با صدای بلند را شرح داد. ایده استفاده از اردک به عنوان ارائه با صدای بلند، تکنیک جدیدی نیست، اما بسیار ساده و موثر است.

بزرگ‌ترین مزیت استفاده از اردک پلاستیکی این است که با صبوری همراه است، قضاوتی صورت نمی‌گیرد و مهم‌تر از همه وقت کسی را نمی‌گیرد. این کار یک عملکرد جادویی در مورد توضیح مسائل شما با صدای بلند، حتی برای اشیای بی‌جانی مثل اردک پلاستیکی است که می‌تواند به شما کمک کند راه‌حل مسائل خود را بیابید.

همان‌طور که کد خود را می‌نویسید، آن را خط به خط برای اردک پلاستیکی شرح دهید، اینجاست که خود شما متوقف می‌شوید و شروع به فکر کردن در مورد وضعیت کنونی از بیرون می‌کنید. خودتان را مجبور می‌کنید خودتان را ارزیابی کنید و درک عینی از آنچه نوشته‌اید به دست آورید، و دیر یا زود پاسخ خود را دریافت می‌کنید.

نوشتن اجزای قابل استفاده مجدد در هر زمان مورد نیاز نیست.

برخی معتقدند که همیشه باید سعی کنید تا اجزای قابل استفاده مجدد را تا حد ممکن ایجاد کنید. زیرا این امکان را به شما می‌دهد که بدون هیچ مشکلی کار کرده و نرم‌افزار بهتری را تولید کنید. این کار عالی خواهد بود اگر تنها هدف شما ایجاد بهترین نرم‌افزار در جهان باشد، اما هیچ کس برای انجام چنین کاری به شما پول نمی‌دهد.

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

شما به آن نیازی ندارید (YouArentGonnaNeedIt)

YouArentGonnaNeedIt که به اختصار YAGNI نامیده می‌شود یک تمرین برنامه‌نویسی افراطی است که می‌گوید:

"همیشه کارها را وقتی واقعا به آن‌ها نیاز دارید انجام دهید، هرگز زمانی که فقط پیش‌بینی می‌کنید به آن‌ها نیاز دارید، انجام‌شان ندهید".

حتی اگر کاملا، کاملا، کاملا مطمئن هستید که به یک ویژگی نیاز دارید، بعدا آن را اجرا نکنید.

دو دلیل اصلی برای تمرین YagNi وجود دارد:

در وقت صرفه‌جویی می‌کنید، زیرا از نوشتن کدی که مورد نیاز نیست اجتناب می‌کنید.

کدتان بهتر می‌شود، زیرا شما از حدس زدن اینکه چقدر ممکن است اشتباه باشد آگاه نیستید اما به هر حال پیرامون آن قرار دارید.

ساده‌ترین راه را انتخاب کنید.

برنامه‌نویسی مفرط دو قانون طلایی را برای نوشتن کد ساده ذکر می‌کند.

ابتدا یک قابلیت جدید را در ساده‌ترین راهی که فکر می‌کنید "ممکن است کار کند" به کار گیرید. ساختارهای فوق‌العاده شگفت‌انگیز را نسازید، کارهای تخیلی انجام ندهید، فقط راهکار ساده‌ای را بگذارید که کار کند. مطمئن شوید که تست‌ها برای ویژگی جدید کار می‌کنند (و تمام ویژگی‌های قبلی مثل همیشه هستند).

دومین نقش بسیار حیاتی است.refactor کردن یا همان بازنویسی کد سیستم را با حفظ تمام ویژگی‌هایی که دارد، به ساده‌ترین شکل ممکن از لحاظ کدنویسی درمی‌آورد. قانون OnceAndOnlyOnce و دیگر قوانین کیفیت کد برای ساخت سیستمی به تمیزترین حالت ممکن را دنبال کنید.

همیشه به یاد داشته باشید، ما به دنبال راه سریع نیستیم؛ ما به دنبال یک نتیجه ساده هستیم. پس ابتدا روش‌های موجود را به بخش‌های کوچک می‌شکنیم. سپس اجرای این بخش‌های کوچک را تست می‌کنیم. سپس یکی از روش‌های کوچک را برای مدیریت آزمون بعدی تغییر می‌دهیم و الی آخر.

دفعه بعد که گیر کردید، اردک را امتحان کنید

مرتب‌سازی از طریق خطاها، مشکلات و مسائل پیچیده بخش مهمی از برنامه‌نویسی است. بنابراین به کارگیری تکنیک‌های مختلف برای از بین بردن مشکلات و پیدا کردن راه‌حل یکی از مسائل مهم یادگیری است.

و هنگامی که گیر کردید و هیچ چیزی به ذهنتان نمی‌رسید، اردک پلاستیکی را امتحان کنید.

پس بروید و یک اردک پلاستیکی برای خودتان پیدا کنید. می‌تواند یک اسباب‌بازی زرد کلاسیک باشد یا یک شخصیتی با لباس پوشیده مثل دزد دریایی، چیزی را انتخاب کنید که شما با آن راحت هستید و متناسب با شخصیت شماست.