با سلام خدمت همه دوستان عزیزم
یه سوال؟
فرض کنید برنامه ای نوشتید با 20 یا 30 هزار خط (یه برنامه بزرگ) که توی اون حجم زیادی از متغیرها رو تعریف کردید که هر کدوم اونها یک دنیا کار انجام می دن تازه بخشی از این متغیرها در sp ها تعریف شدند . سوال اینه که اگر بخشی از این سیستم به اشکال بخوره چطوری میتونیم بفهمیم فلان متغیر رو برای چی تعریف کردیم و یا به چه درد می خوره تا بتونیم مشکل رو حل کنیم در واقع چه طور باید طرز عملکرد سیستم رو document (شاید همون مستند سازی) نمود. آیا علمی یا روشی یا کتابی در این زمینه هست .
دوستان لطف میکنید
اصول علمی و دانشگاهی برنامه نویسی رو اگه رعایت کنی به مشکل بر نمی خوری
1- تهیه فلوچارت برنامه قبل از نوشتن آن.
2- تعریف متغیرها و ثابت ها در بخش جنرال برنامه ( تقریبا در اکثر زبان های برنامه نویسی این کار اجباری هست )
3- کنترل خطا و حدس زدن خطاهایی که ممکن هست در برنامه رخ بده. به نحوی که در صورت بروز خطا کنترل از دست برنامه خارج نشه و در صورت امکان برنامه بهترنی واکنش رو نشون بده . مثلا کد خطا رو اعلام کنه یا در صورت امکان با رفع اون به کار خودش ادامه بده.
اما اگه این اصول رو در برنامه رعایت نکرده باشی احتمالا مجبوری دوباره برنامه رو به صورت قدم به ثدم اجرا کنی تا بفهمی خطا در کجا رخ داده ولی در عمل این کار بسیار سخت هست و احتمالا احتیاج به تعویض کامل قطعه کد معیوب هست .
جناب didiدرست فرمودن
تو کمپانیهای بزرگ برنامه های اینچنینی رو به بخشهای کوچکتری تقسیم میکنند (شامل ماژولها وکلاسها)وبعد از صحت از درست بودنشون اونها رو در پروژه اصلی قرار میدن اینجوری debugکردن هم خیلی راحتر میشه
با سلام خدمت دوستان عزیزم
در ابتدا عذر خواهی میکنم از اینکه چند روزی دسترسی به اینترنت نداشتم و نتوانستم از فرمایشات اساتید استفاده کنم
نقل قول: اصول علمی و دانشگاهی برنامه نویسی رو اگه رعایت کنی به مشکل بر نمی خوری
1- تهیه فلوچارت برنامه قبل از نوشتن آن.
2- تعریف متغیرها و ثابت ها در بخش جنرال برنامه ( تقریبا در اکثر زبان های برنامه نویسی این کار اجباری هست )
3- کنترل خطا و حدس زدن خطاهایی که ممکن هست در برنامه رخ بده. به نحوی که در صورت بروز خطا کنترل از دست برنامه خارج نشه و در صورت امکان برنامه بهترنی واکنش رو نشون بده . مثلا کد خطا رو اعلام کنه یا در صورت امکان با رفع اون به کار خودش ادامه بده.
اما اگه این اصول رو در برنامه رعایت نکرده باشی احتمالا مجبوری دوباره برنامه رو به صورت قدم به ثدم اجرا کنی تا بفهمی خطا در کجا رخ داده ولی در عمل این کار بسیار سخت هست و احتمالا احتیاج به تعویض کامل قطعه کد معیوب هست .
میشه لطف کنید و ebook یا کتابی در زمینه بند 1 که فرمودید معرفی کنید
خیلی لطف می کنید
خود من تو دبیرستان _ سال سوم کتاب کامپیوتر و برنامه نویسی اگه اشتباه نکنم _ یاد گفتم . داخل اون کتاب خیلی خوب توضیح داده بود. ولی کلا چیزی نیست که به خاطرش یه کتاب نوشته بشه!! تقریبا می شه اون رو به یه نمودار تشبیه کرد که مراحل مختلف برنامه رو _ شامل دستورات If و Goto و معادلات و ... _ از ابتدا تا انتها نشون می ده و بیشتر برای برنامه هایی تهیه می شه که به صورت خط به خط اجرا می شن و بعد از انجام یه کار واحد بسته می شن. برای برنامه هایی که بر پایه Event تهیه می شن و شامل چند هزار خط کد هستن، باید همون طور که جناب Lord_Viper عرض کردن ، برنامه رو به قسمتهای کوچکتر تقسیم کنید، برای هر قسمت فوچارت و دیباگ و ... مخصوص خودش رو تهیه کنی و در نهایت در برنامه ازش استفاده کنی.
در کتابهای آموزش QBasic مقدماتی احتمالا توضیحاتی در مورد فلوچارت نوشته شده.
توي كتاب برنامه نويسي 1 هنرستان رشته كامپيوتر هم هست.(هم جديد هم قديم)
خیلی عجیبه!!!!
اگر شما یخوایند برای 300 یا 400 خط فلوچارت رسم و نگه داری کنید به طور کامل از برنامه نویسی پشیمون می شید...
چه برسه به 20 یا 30 هزار خط !!!!!
دوست عزیز فلوچارت برای افراد مبتدیه و به این شکل کار می کنه که شما ابتدا بایستی الگوریتم برنامت رو مطابق زبان به فلوچارت تبدیل کنی.
خوب این کار برای برنامه های خیلی ساده که افراد مبتدی ابتدا با اون ها مواجه هستند توصیه می شه تا وفتی که شما
تبحر پیدا کنید در طراحی الگوریتم ها در مغزتون...
درسته تعجب نکنید. یک برنامه نویس باید بتونه برنامه خودش رو به خوبی مدیریت کنه با تبدیل برنامه به Sub ها و بخش
های کوچک تر. بعد باید الگوریتم هر بخش رو در ذهن خودش ایجاد کنه و بعد ذهنیت رو به کد تبدیل کنه...
در واقع فلوچارت تنها برای این رسم میشه که دید مفهوم تری از الگوریم به دست بیاد و یاعث سهل در کد نویسی بشه.
حالا نه تو ایران و فکر می کنم در هیچ جای دنیا هیچ برنامه سازی فلوچارت پروژه خودش به طور واقعی و مثلا روی کاغذ
نداره.
این کار (ترسیم فلوچارت برای حفظ و مدیریت متغییر ها, ثابت ها و داده ها) اصلا به صرفه نیست. علتش کاملا روشنه
کافیه همون طور که گفتم شما فقط برای 300 تا 400 خط از کد هاتون اقدام به ایجاد فلوچارت عینی (موجود در دنیای واقعی و نه در فکرتون) بکنید. خواهید دید که صرف وقت و انرژی این کار اصلا شما رو برای ادامه کار منصرف می کنه.
پس هر برنامه نویسی باید بتونه در ذهن خودش خیلی از کار ها رو انجام بده و در عین حال روی همه اون 20 هزار خط کد
تمرکز داشته باشه... (بی خود نیست که می گند برنامه نویسی تمرکز رو بالا می بره)
اما شما برای کاری که می خوایند انجام بدید باید برگه هایی تهیه کنید که در اون برگه ها لیست متغییر ها و ثابت ها
و هر چیزی که برای هر زیر برنامه لازمه, ثبت بشه. درون کار های گروهی و پروژه های متوسط یا بزرگ از همچین
لیست هایی استفاده می شه تا در آینده برای خطا یابی و یا تکامل برنامه دچار مشکل نشند.
این لیست باید حاوی شرح عملکرد و وظایف هر جزء باشه (یعنی توابع, زیر برنامه ها و متغییر ها و ...)
علاوه بر این ها شما باید تاریخ کد نویسی قطعه, برنامه نویس (نام شخص) رو هم ثبت کنید تا مشخص باشه کِی و چه
کسی این قطعه رو نوشته.
همین طور در برنامه نویسی شیء گرا علوه بر موارد ذکر شده, مشخطات هر شیء, Parent و علت و وظیفه هر شیء
به خوبی لیست و سیاهه بندی می شه.
در ضمن به این کار مستند سازی نمی گند. مستند سازی اصلا چیز دیگه ایه که تعریف خودش رو داره...
در حال حاظر من دیدم در زمان پایان پروژه