سلام علی آقای عزیز :)
اختیار دارین ، شما استاد ما هستین ؛
----------------------------------------
مسله ای که قبل از هر چیز به چشمم اومد اینبود که برنامت Splash نداره! و مستقیم بعد از اجرا میره توی فرم لاگین! Splash Form علاوه بر زیبایی کاربرد مهم دیگه ای هم داره و اون اینه که شما توی فرم Splash میتونی اتصال مربوط به بانک اطلاعاتیت رو بررسی کنی و درصورتی که مشکلی وجود داشت تصمیم گیری کنی!
برای مثال من برنامه تو رو قبل اینکه Connection String رو تنظیم کنم اجرا کردم و وارد فرم لاگین شدم و نام کاربری و کلمه عبور رو زدم! بعدش بهم اخطار داد رمزت اشتباهه! درحالی که اصلا اتصال به بانک اطلاعاتی در کار نبود!!!یکی دیگه از مسائلی که برام جالب بود این بود که تو تفکیکی بین خطای عدم اتصال به بانک اطلاعاتی و اشتباه بودن کد کاربری یا رمز تفکیکی قایل نشدی!!!از مسائل مهم دیگه که باید بگم اینه که تو چرا اومدی اول فرم اصلی رو اجرا میکنی و بعدش داخلش میای فرم لاگین رو باز میکنی! شاید بیشتر بخاطر اینه که گزارشات فرم اصلی رو بصورت thread استخراج میکنی! ولی به نظرم کار اشتباهیه! چون همون قضیه نبودن بانک اطلاعاتی همینجا بازم دردسرساز خواهد شد! برای مثال من بعد باز شدن فرم لاگین انصراف رو زدم و چند ثانیه طول کشید تا برنامه بسته بشه! و یه سری خطاهای مختلف بروز میکنه! البته این موضوع بیشتر سلیقه ای هستش!اینا رو قطعا تو نسخه بعدی لحاظ میکنم !در مورد یادآوری کلمه عبور هم یه سوالی ذهنمو درگیر کرد!
توی اینجور برنامه ها معمولا مدیر سیستم کاربران رو تعریف میکنه! و اگر یکی از کاربران رمز یادش بره خیلی راحت از مدیر سیستم میخواد که رمزشو reset کنه! و خیلی نیازی به یادآوری کلمه عبور احساس نمیشه! و جالب اینجاس که توی برنامه تو سوال و جواب امنیتی بقیه کاربران رو هم مدیر باید وارد کنه که یخورده خنده دار به نظر میاد! چون این بخش جزو خصوصی ترین مشخصات کاربره که حتی مدیر هم نباید بتونه ببینه!
و اینکه توی برنامت من جایی رو واسه تغییر رمز کاربر نتونستم پیدا کنم! مثلا بیاد بپرسه رمز قبلیت چیه و رمز جدید رو از کاربر بگیره و تغییر بده!
یا اینکه برای یه کاربر فیلد فعال بودن یا همون مجاز بودن برای ورود به برنامه رو بذاری تا در مواقع نیاز بشه یه کاربر رو غیر فعال کرد چون اصولا حذف کاربر تعریف شده صحیح نیست!
این موارد رو تو چند نمونه (خارجی و داخلی) دیدم ... جو گیر شدمدر مورد مرا بخاطر بسپار توی فرم لاگین که حسابی اشتباه کردی! اصولا توی نرم افزارهای ویندوزی منظور از مرا بخاطر بسپار فقط کد کاربری هستش و کاربر باید هر دفعه رمز عبور رو وارد کنه! ولی شما یه اشتباه بزرگ کردی! و اونم اینه که رمز رو هم بصورت setting ذخیره میکنی! اینطوری با دوتا کلیک میشه رمز رو بیرون کشید!! حالا اون به کنار! فرض کن من الان اومدم وارد سیستم شدم و منو بخ خاطر سپرده! حالا یکی دیگه بیاد و برنامه رو اجرا کنه و اون علامت چشم رو بزنه چی میشه!!!
البته چون تجربه اول بود هم برا جالب بود و هم یه چیزایی یاد گرفتم ، ولی در کل تو نسخه بعد رعایت میکنم .
در مورد قفل خیلی جستجو کردم تو نت ... یا چیز کامل و بدردبخوری نبود یا دروغ چرا ... چیزی از روش کار یا کد نویسی ش متوجه نشدم (اما این روش از بس ساده هست رو چشم بسته هم میرم - واسه هم با چشم بسته هم میشه کرک ش کردبا این روشی که تو انجام دادی خیلی راحت میشه برنامتو کرک کرد!!)
اتفاقا خوب شد که این مورد رو یادآوری کردین ... تو نسخه بعدی اصلا هدفم (طرحی که تو ذهنم هست) اینه که از منو استفاده نکنم (چون تو فرم اصلی میخوام از tab استفاده کنم)در مورد منوها هم یه تجدید نظر بکن! چون به ظاهر کلی برنامه نمیاد! یه آیکنی چیزی براشون بذار!
و چند تا باتون گرافیکی توی اون قسمت بالایی (header) که الان خیلی جای خالی داره
نظرتون چیه ... کار درستی هست !؟
اصل مطلب هم که ایرادات و نقاط ضعف کد نویسیه (بی صبرانه منتظرم)
هر چند با EF هم میتونم کار کنم (تو همین سطح) ولی از ADO بیشتر خوشم میاد ... نظرتون چیه ، کلا بیخیال شم برم سراغ EF !؟
لطف کردین ... بایت وقتی که گذاشتین ، نکاتی که گوشزد کردین و ... (کد پنجره انتظار هم که به نوعی هدیه شما بود)
تشکر فراوان






)
پاسخ با نقل قول
