سرفصل‌های آموزشی

۹۷ چیزی که هر برنامه‌نویسی باید بداند

سرفصل‌های آموزشی
نود و هفت چیزی که هر برنامه‌نویسی باید بداند: طرح‌های خود را بی‌نقص کنید

نود و هفت چیزی که هر برنامه‌نویسی باید بداند: طرح‌های خود را بی‌نقص کنید

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

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

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

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

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

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