ده قاعده کلی برنامه نویسی که هر برنامه نویس باید بداند (بخش آخر)
7- به آن نیاز نداری
قاعده “به آن نیاز نداری” ایده ای است که می گوید هرگز برای عملکردی که ممکن است در آینده به آن نیاز پیدا کنید، کد نزنید. احتمالا شما به آن نیاز پیدا نخواهید کرد و اتلاف وقت خواهد بود- و نه تنها اتلاف وقت، بلکه بدون اینکه به آن نیاز داشته باشید، پیچیدگی کد شما را بیشتر می کند. شما می توانید به این اصل دیدی خاص مانند قاعده ساده نویسی کد داشته باشید و این قاعده می تواند پاسخی به آنهایی باشد که قاعده عدم تکرار را خیلی جدی می گیرند. اغلب برنامه نویسانِ بی تجربه سعی می کنند کدهایی بنویسند که بیشترین تجرید (انتزاع) وgeneric ممکن را داشته باشد تا از نوشتن کدهای WET (Write Every Time) جلوگیری کنند اما انتزاع بیش از حد نهایتا منجر به تولید کدهای متورم می شود که نگهداری از آن ها را غیر ممکن می کند. ترفند اینجاست که از قاعده ساده نویسی تنها زمانی که به آن نیاز دارید استفاده کنید. اگر متوجه شدید که تکه های کد بارها و بارها تکرار شده اند، آن ها را abstract کنید. اما صرفا وقتی یقین داشتید اینکار را انجام دهید، اغلب اوقات تکه کدها تکرار نشده اند.
8- از بهینه سازی بی موقع اجتناب کنید
قاعده بهینه سازی بی موقع شبیه به قاعده ” به آن نیاز نداری” است. تفاوت آن ها در این است که قاعده به آن نیاز نداری tendency ها را برای پیاده سازی توابع، قبل از اینکه ضروری باشند شناسایی می کند در حالی که این قانون tendency ها را برای سریعتر شدنِ الگوریتم شناسایی می کند پیش از آنکه ضروری باشند. مشکلِ بهینه سازی بی موقع این است که شما هیچ وقت نمی دانید که گلوگاه های برنامه کجا خواهند بود تا زمانی که برنامه اجرا شود. البته می توانید حدس بزنید و گاهی اوقات حتی ممکن است درست بگویید.
9- بازسازی، بازسازی، بازسازی
یکی از سخت ترین حقایقی که برنامه نویسان کم تجربه باید با آن کنار بیایند این است که کدها به ندرت در بار اول درست نوشته می شوند. ممکن است پیاده سازی یک ویژگی برای بار اول حس خوبی به شما بدهد، اما به همان نسبت که برنامه شما بزرگتر و پیچیده تر می شود، ویژگی های بعدی ممکن است مانع از اجرای کدهایی که قبل از آن نوشته بودید شوند. کدهای شما دائما در حال بزگتر شدن و گسترش هستند و بررسی دوباره، دوباره نویسی یا حتی طراحی دوباره تکه کدها کاملا طبیعی است و علاوه بر طبیعی بودن کار سالمی هم است. حالا چیزهای بیشتری در مورد پروژه نسبت به شروع کار می دانید و باید مرتبا از این دانش جدید که در مورد پروژه به دست آورده اید برای اصلاح و بازسازی کدهای قدیمی استفاده کنید.
حالا این موضوع همیشه فرآیند بزرگی نیست. اگر لازم بود که کدهای قدیمی را بررسی یا اصلاح کنید، همیشه کدها را مرتب تمییز کرده و وضع کلی آن را بهتر از قبل کنید.
10- کد تمییز اولویت بیشتری نسبت به کدهوشمندانه دارد
صبحبت از کد تمییز به میان آمد، خودخواهی خود را کنار گذاشته و نوشتن کدهای هوشمند را فراموش کنید. می دانید به چه چیزی فکر می کنیم؟ کدهایی که بیشتر شبیه معما باشند تا یک راه حل و صرفا برای اینکه نشان دهند چقدر باهوش هستید نوشته شده اند. واقعیت این است که کسی اهمیتی نمی دهد.
یکی از مثال های نوشتننِ کدهای هوشمند جا دادنِ مقدار زیادی عبارت منطقی تا جای ممکن در یک خط کد است. مثال دیگر استفاده از اعلان های توابع پیچیده functional و نوشتن کدهای عجیب و غریب است یعنی چیزی کههر کسی آن را ببیند صبر کند و با خودش بگوید خدای من چی نوشته است؟ برنامه نویسان کاربلد کدهای خوانا می نویسند.در مواقع ضروری کامنت (توضیحات کد) اضافه کنید. به طرز و دستورالعمل های کدنویسی پایبند باشید چه توسط آن زبان مشخص شده باشند (مانند پایتون) یا یک شرکت (مانند گوگل). برای هر زبان اصطلاحاتی وجود دارد، آن اصطلاحات را ببینید و یادبگیرید و کدهای جاوا را در پایتون ننویسید و بالعکس