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


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

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

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

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

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

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

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
محسن
محسن
خیلی جالب هست که مرحله write code در چرخه حیات یک اپلیکیشن از نگاه رفرنس مایکروسافت مرحله 6 هست یعنی قبلش باید طرح کلی مشخص بشه، شماتیکی از خروجی و نمای بیرونی آماده بشه، مستندات پروژه آماده بشه و بعد شروع به کدنویسی بشه، اما در بسیاری از پروژه هایی که افراد غیرحرفه ای کار میکنن اول کدنویسی میشه بعد به فکر اصلاح و تغییرات میفتن که این کار هزینه و زمان رو به شدت افزایش می ده

9 مرحله چرخه حیات اپلیکیشن
Planning your project
Designing the user interface (UI)
Updating the app manifest
Writing the code
Building the app
Debugging and testing the app
Packaging the app
Validating the app
Deploying the app
Nirvana
Nirvana
آغای سادات بنده تو سایت مایکروسافت گشتم متاسفانه نتونستم در این موردی که شما گفتین مطلبی پیدا کنم.امکانش هست لطفا لینک مطلب رو بزارین بقیه دوستان هم استفاده کنن؟ ممنون.

در پاسخ به

محسن
محسن
https://mva.microsoft.com/en-US/training-courses/preparing-for-exam-mta-98375-html5-app-development-fundamentals-academic-edition-12434?l=wwtFNqcNB_5505192806

بخش The Application Lifecycle
اسلایدهای پاورپوینت
اسلاید 4 از 28

البته در کتاب مربوط به این دوره هم هست ولی چون کپی رایت داره share نکردم
اسلاید ها free هستن

در پاسخ به

Nirvana
Nirvana
متاسفانه هیچ کدوم از گزینه ها رو توضیح نداده. منبعی سراغ دارین که این موارد رو کامل و مفصل شرح داده باشه؟

در پاسخ به

محسن
محسن
این کتاب رو سرچ کنید، احتمالا PDF هم بتونید پیدا کنید
فکر می کنم نتایج بهتری می گیرید

Exam 98-375 HTML5 Application Development Fundamentals

در پاسخ به

Nirvana
Nirvana
ممنون از شما

در پاسخ به

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