ساده کد بنویسید
چرا مهمه که ساده کد بنویسیم؟ کد ساده را راحت میشه خوند، تست کرد یا براش تست نوشت، راحت میشه ازش نگهداری کرد.
قوانینی برای برنامهنویسها هستند که در زندگی حرفهای به آنها خیلی کمک میکنند. یکی از مهمترین این قوانین قانون نوشتن کد ساده است.
کد ساده چیست؟
همه ما برنامهنویسها علاقمند به حل مساله هستیم. اینقدر هر روز درگیر حل مسائل مختلف میشیم که عادت حل مساله بعد از مدتی در درون ما تبدیل به یک کار روتین میشه. این مساله بد نیست، حتی یه جاهایی به درد میخوره: مثلاً من وقتی میخوام یک کار فیزیکی انجام بدم، قبلش به جای اینکه یک دفعه آستینها رو بالا بزنم و برم سراغ کار، به صورت اتوماتیک به بهینهترین روش انجامش فکر میکنم. نتیجه این میشه که تقریباً همیشه با صرف انرژی کمتر کار رو انجام میدم!

اما در حوزه برنامهنویسی مساله کمی متفاوت میشه. شما قرار هست به زبان ماشینها باهاشون صحبت کنید و بگید که یک سری کارها رو براتون انجام بدن. بعد از یک مدت که هر روز درگیر حل مسائل نرمافزاری و کدنویسی باشید، قبل از اینکه به مساله فکر کنید به راه حل (پیادهسازی و کدنویسی راه حل) فکر میکنید.
در واقع بعد از مدتی، دغدغه شما از حل مساله واقعی تبدیل به نحوه پیادهسازی میشه. در حالیکه اولین گام تولید هر نرمافزار، تحلیل و شناخت الگوریتمی هست که برای حل مساله میخواهید استفاده کنین. وقتی فقط به پیادهسازی فکر کنین و بدون درک راه حل بهینه یک راست سراغ کدنویسی برید، خروجی کار شما یک کد پیچیده خواهد بود.
حالا قانون کد ساده چی هست؟ قانون کد ساده میگه قبل از پیادهسازی، روشهای مختلف حل مساله رو بررسی کنید وقتی به روش نهایی رسیدید، دنبال نوشتن کدی برید که اون راه حل رو پیادهسازی کنه و در مسیر اجرا هرگز از الگوهای ابداعی خودتون استفاده نکنید!
نوشتن کد ساده چه مزایایی دارد؟
نوشتن یک کد ساده حداقل مزایای زیر رو داره:
- راحت خونده میشه. برنامهنویس جدیدی که به تیم وارد میشه خیلی راحت ازش سر در میاره حتی بدون خوندن کامنتهای شما!
- راحت تست میشه یا راحت میشه براش تست نوشت.
- راحت میشه از کد ساده نگهداری کرد.
- توسعه کد ساده خیلی راحتتر از کد پیچیده است و احتمال اینکه تصمیم بگیرید به دلیل پیچیدگی بیش از حد باید کل کد رو دور بریزید و از اول بنویسید کم میشه.
چطور بفهمیم کد ساده نوشتیم؟
به اعضای کمپین ضد if بپیوندید! هر چه استفاده از if در کد شما بیشتر باشه، یعنی کد شما پیچیدهتر هست و سر در آوردن ازش (به خصوص وقتی که خیلی if تو در تو دارید) مشکل.
نکته دیگه رعایت استانداردهای نامگذاری هست. از خودتون استاندارد generate نکنید. این راهنما از مایکروسافت میتونه خیلی کمک کنه. البته استفاده از ابزارهایی مثل Resharper که توی کد به شما پیشنهاداتی ارائه میکنند هم میتونه مفید باشه.
به سایز توابعی که مینویسد نگاه کنید. وقتی یک تابع نوشتید که بیش از 300 خط کد دارد، وقتی تمام منطق صفحه را در یک تابع Page_Load نوشتید، وقتی هر کدام از event handlerهای شما خودش یک برنامه است یعنی کد پیچیدهای نوشتید که 2 ماه دیگر خودتان هم از آن سر در نمیآورید.
کدهای تکراری را حذف کنید، در کدهای پیچیده کارهای تکراری باعث شلوغی بی دلیل کد میشود. به یاد داشته باشید که یکی از روشهای درهم و مبهم کردن کد (به منظور اینکه با reflector ها دیگران کد شما را نبینند) اضافه کردن کد بیمعنی و بیهوده به کد اصلی است. بنابراین همیشه برای داشتن یک کد ساده و قابل فهم، کدهای اضافی را به صورت کتابخانه یا کلاس مجزا درآورده و آنها را قابل استفاده مجدد (reusable) کنید.
شما درباره نوشتن کد ساده چه ایدهای دارید؟ در مورد کد ساده در نوشته دیگری که درباره اصل KISS هست بیشتر صحبت خواهم کرد.