آشنایی با ترفندهایی برای حفظ سادگی سورس‌کد


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

اولین کسی باشید که به این سؤال پاسخ می‌دهید

دنبال کردن قانون YAGNI
Y
ou Aren`t Gonna Need It یا به اختصار YAGNI حاکی از آن است که اساساً یکی از دلایلی که منجر به ایجاد پیچیدگی پروژه‌های نرم‌افزاری می‌گردد پیاده‌سازی فیچرهایی است که ممکن است در آینده مورد استفاده قرار گیرند. به عبارتی، گاهی اوقات پیش‌بینی نیازهای آتی نرم‌افزار باعث می‌گردد فیچرهایی را در دلِ سورس‌کد بگنجانیم که شاید حتی در آینده هم به کار نیایند!

همچنین این نکته را هم همواره مد نظر داشته باشیم که ماهیت صنعت توسعهٔ نرم‌افزار به گونه‌ای است که دائماً با فیدبک گرفتن از کاربران،‌ بررسی رقبا و تحلیل نیازهای بازار باید برخی فیچرها حذف و برخی دیگر افزوده شوند اما زمانی که ما از ماه‌ها و یا حتی سال‌ها قبلی پیش‌بینی فیچری را می‌کنیم، به احتمال خیلی زیاد در شرایطی قرار گیریم که فیچر مذکور اصلاً مورد استفاده قرار نگیرد و یا اگر هم به کار آید، باید بسته به شرایط روز تغییر یابد و از همین روی چه بهتر که در زمان مناسب اقدام به افزودن قابلیت‌های جدید به اپلیکیشن خود نماییم.

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

کدی که اصولی نوشته شده باشد و کار کند کفایت می‌کند
چنانچه کدی بزنیم که استانداردهای کدنویسی در آن رعایت شده باشد و از همه مهم‌تر اپلیکیشن کار کند، دیگر نیازی به کدنویسی به شیوه‌های عجیب‌وغریب نیست. آنچه در اینجا حائز اهمیت است اینکه انتخاب سریع‌ترین راه کدنویسی با انتخاب ساده‌ترین راه کاملاً فرق می‌کند؛ به عبارتی، یک سولوشن سریع و دَم‌دستی ممکن است اصلاً اصولی و بهینه نباشد اما این در حالی است که انتخاب راه‌کاری ساده هم در عین سادگی می‌تواند کاملاً اصولی و حرفه‌ای باشد.

جمع‌بندی
KISS قانونی است که در هر صنعتی می‌تواند به کار گرفته شود تا اصلِ سادگی رعایت گردد و صنعت توسعهٔ نرم‌افزار هم از این قاعده مستثنی نیست که برای کسب اطلاعات بیشتر، می‌توانید به مقالهٔ KISS: رویکردی که کمک می‌کند به دولوپر بهتری مبدل گردیم! مراجعه نمایید. در واقع،‌ با رعایت اصلِ سادگی در حین کدنویسی این تضمین را ایجاد خواهیم کرد که هم خودمان در آینده کمتر با سردرگمی مواجه خواهیم شد و هم دیگر دولوپرهایی که سورس‌کدمان به ایشان به ارث می‌رسد با سهولت بیشتری بتوانند به ریفکتور کردن پروژه بپردازند.

علاوه بر آنچه در این مقاله گفته شود، ترفندهای دیگری هم نیز وجود دارند که با پیروی از آن‌ها می‌توان گام‌های مؤثرتری به منظور حفظ سادگی در پروسهٔ‌ توسعهٔ نرم‌افزار برداشت که در همین راستا توصیه می‌کنیم به مقالات زیر مراجعه نمایید:

آشنایی با نحوهٔ ساده‌سازی سورس‌کد با حذف دستورات شرطی
Stepdown: یکی از اصول کدنویسی که منجر به خوانایی بیشتر سورس‌کد می‌شود
آشنایی با استراتژی‌هایی که باعث ایجاد سورس‌کدی ماندگار می‌شوند!

حال نوبت به نظرات شما می‌رسد. آیا با آنچه در این مقاله گفته شد موافق هستید؟ همچنین با دنبال کردن چه رویکردهایی سادگی را در کدنویسی دنبال می‌کنید؟ نظرات، دیدگاه‌ها و تجربیات خود را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.

منبع