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

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

البته نمی خوام بگم قیمت پروژه های ASP واسه اینه که ما داریم چیزای اضافی می سازیم. بخشی از قیمت به دلیل اینه که ما از 0 همه چیز رو می سازیم و بخش دیگر مسئولیت پروژه است. مثلا وقتی شما دارید یک پروژه تراکنش های ارزی-ریالی تمام خودکار می نویسید، مطمئنا مسئولیت خیلی زیادی رو به دوش کشیده اید، هر گونه باگ امنیتی مساوی است با میلیون ها تومان ضرر مالی برای مشتری شما پس باید خیلی خیلی وقت بذارید تا هیچ باگی روی نرم افزار وجود نداشته باشه. کلیه محاسبات دقیق و بی نقص باشن و هزاران نگرانی دیگر ...

 در ادامه سه اصل مهم که هر برنامه نویس باید موقع ساخت نرم افزار به خاطر داشته باشه رو بیان کرده ام.

 

YAGNI

( You Aren't Going to Need Itشما به این نیاز نخواهید داشت) یکی از تعالیم Extreme Programmingاست به این معنی که شما نباید الان چیزی را بسازید تنها به این دلیل که ممکن است در آینده به آن نیاز داشته باشید. تجربه به ما می گوید ممکن است هیچ وقت به آن نیاز پیدا نکنید یا حتی اگر هم نیاز پیدا کنید احتمالاً کمی متفاوت با آن چیزی خواهد بود که همین الان ساخته اید. ممکن است یک ماه از وقتتان را صرف ساختن چیزی باارزش، انعطاف پذیر و جالب بنمایید ولی مشتری به یکباره با یک ایمیل دو خطی آن را کاملاً بی استفاده نماید. یک بار شروع به ساخت گزارش سازی کرده بودم ولی بعداً فهمیدم تنها چیزی که مشتری میخواسته یک گزارش روزانه بود که ساختن آن تنها 15دقیقه طول میکشید.

Last Responsible Moment

ایده پشت Last Responsible Moment به تأخیر انداختن ساخت بخشهای جدید تا آخرین لحظه ممکن است. باید تأیید کرد که در بعضی ازحالات آخرین لحظه در همان مراحل اولیه برنامه نویسی است. این مفهوم به شدت به مفهوم YAGNI پیوند خورده است. به این صورت که حتی اگر واقعاً به چیزی نیاز دارید باید پیاده سازی آن را تا آخرین لحظه ممکن به تاخیر بیندازید. با این روش هم شما و هم مشتری این فرصت را دارید که بفهمید آیا واقعاً به چیزی نیاز دارید یا نه. این روش می تواند به کاهش میزان تغییرات حین و پس از ایجاد برنامه کمک نماید.

DRY

تکراری بودن کدها می تواند برنامه نویس ها را دچار دردسرهای بزرگی کند. این کار نه تنها تغییر کد را سخت تر می کند (چون شما مجبور هستید همه جاهایی را که یک کار را انجام میدهند پیدا کنید)، بلکه بالقوه امکان ایجاد خطاهای جدی و سخت کردن کار برنامه نویسهای جدید را هم دارد. با پیروی از اصل DRY یا همان ( Don't Repeat Yourselfخودتان را تکرار نکنید) در طول چرخه تولید یک سیستم (نیازمندیهای کاربران ،12طراحی، کدنویسی،آزمون واحد 13و مستند سازی)، یک کد تمیزتر با قابلیت نگهداری بالاتر خواهید داشت. به خاطر داشته باشید که این مفهوم از Copy-Paste فراتر رفته وهدفش حذف تمام رفتارها و عملکردهای تکراری سیستم است. کپسوله سازی اشیا 14و کد با انسجام 15بالا میتواند در کاهش تکرار نقش به سزایی داشته باشد

نوشته شده در تاریخ چهارشنبه 5 آبان 1395    | توسط: ح.م    | طبقه بندی: مهندسی نرم افزار، آموزش ASP.NET،     | نظرات()