PDA

View Full Version : گفتگو: پرسش و پاسخ (پروژه نرم افزار چت در شبکه محلی (سوکت))



m2011kh
شنبه 20 آذر 1395, 01:03 صبح
با سلام و خسته نباشید خدمت دوستان و استاید عزیز.

این تایپیک برای طرح و پرسش و پاسخ ها و گفتگو در مورد پروژه نرم افزار چت در شبکه محلی (سوکت) (http://barnamenevis.org/showthread.php?533196-%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D9%86%D8%B1%D9%85-%D8%A7%D9%81%D8%B2%D8%A7%D8%B1-%DA%86%D8%AA-%D8%AF%D8%B1-%D8%B4%D8%A8%DA%A9%D9%87-%D9%85%D8%AD%D9%84%DB%8C-(%D8%B3%D9%88%DA%A9%D8%AA)&p=2351509#post2351509) ایجاد شد تا پرسش و پاسخ در این تاپیک انجام بشه و در تاپیک اصلی فقط پست های آموزش قرار بگیرن.

لطفا در تاپیک اصلی پست نکنید.

موفق و سربلند باشید.
M.M.D

MMR_1344
شنبه 20 آذر 1395, 06:41 صبح
با سلام و تشکر از شروع آموزش
از اینکه از پایه شروع کردی آموزش خوبی خواهد شد ممنون میشم ادامه بدی

m2011kh
یک شنبه 21 آذر 1395, 01:24 صبح
ممنون دوست عزیز.

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

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

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

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

حالا فرض کنیم همچین مشکلی در حین کد زدن پیش میومد! بنظرتون چقدر طول میکشید که اصلا محل وقوع خطا و معنی منطقی خطا پیدا بشه؟ و چقدر طول میکشید که ویرایش و درستش کرد؟

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

حالا به امید خدا اگه عمری بود و تاپیک ادامه ای داشت با هم شاهد تمام این قضایا خواهیم بود.

موفق و سربلند باشید.
M.M.D