PDA

View Full Version : زياد شدن كدهاي برنامه و سردرگمی



haamidd
سه شنبه 16 دی 1393, 15:40 عصر
سلام

اقا من كدهاي برنامم زياد شده و ديگه وقتي چيزي رو ميخوام تغيير بدم نيم ساعت دنبالش ميگزدم!!!!!!!

چيكار كنم؟

بابا شما حرفه ايي ها چيكار ميكنيد؟!



دستتون درد نكنه


اصلا كلافه ميشم وقتي دنبال يه چيز ميگردم

hamid_hr
سه شنبه 16 دی 1393, 16:00 عصر
باید کلاس بندی کنید
اونوقت همه چیز سر جای خودشه و تغییر راحته
اگه برنامه نویسی دیتابیس انجام میدین باید از روشهای برنامه نویسی سه لایه استفاده کنید

haamidd
سه شنبه 16 دی 1393, 20:37 عصر
خب اخه کدها همش به همدیگه وابستش دیگه

من چطور باید کلاس بندی کنم؟!!

و با دیتابیسم به طور معمولی کار میکنم، مثل insert , update , delete , select و غیره

haamidd
سه شنبه 16 دی 1393, 20:39 عصر
الان کدهای من مثلا در یک فرمی که نگاه کردم حدود 3000 خط هست و کد هاشم تقریبا به همدیگه هر 50 خط 50 خط به هم مرتبط میشه

malizergani
سه شنبه 16 دی 1393, 21:17 عصر
سلام

اقا من كدهاي برنامم زياد شده و ديگه وقتي چيزي رو ميخوام تغيير بدم نيم ساعت دنبالش ميگزدم!!!!!!!

چيكار كنم؟

بابا شما حرفه ايي ها چيكار ميكنيد؟!



دستتون درد نكنه


اصلا كلافه ميشم وقتي دنبال يه چيز ميگردم


سلام دوست عزیز

حق دارید سردرگم بشید با این بی نظمی ، شما باید دسته بندی می کردید ، بله سوال می کنید چطور دسته بندی کنم؟!
جواب این سوال دست خود شماست چون پروژه دست شماست نه کس دیگری.!

بعنوان مثال :

تمامی کلاس هایی که مربوط به هربخش رو با ذکر نام پوشه مثلاً "انبار" به انگلیسی نام گذاری کنید و کلاسها و فرم ها را درون آن بگذارید از این هم نظم دقیق تر بخواهید بدهید بازهم در پوشه انبار پوشه ای درست کنید با نام کلاس ها و فایل کلاسها رو درون آن قراردهید. پوشه ای درست کنید بانام فرم ها تمامی فرم هایی که مربوط به انبار هستند اونجا قرار دهید و این سلسله مراتب ...


سعی کنید در نوشتن کد نظم داشته باشید مطمئن باشید اون فرمی که با 3000 خط شما پُر شده میتونه خیلی از این کدها درون یک کلاس باشن. اینطور نیست

hamid_hr
چهارشنبه 17 دی 1393, 10:17 صبح
http://barnamenevis.org/showthread.php?309730-%D8%A2%D8%B4%D9%86%D8%A7%DB%8C%DB%8C-%D8%A8%D8%A7-%D9%85%D8%AF%D9%84-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B3%D9%87-%D9%84%D8%A7%DB%8C%D9%87

اینو ببینی بد نیست

prans_tork
شنبه 23 خرداد 1394, 15:05 عصر
1- از کلاس بندی و طراحی 3 لایه استفاده کنید
2- از کلید region زیر هم میتونید برای دسته بندی کدهاتون استفاده کنید:
#region Leave

private void txtServDetCode_Leave(object sender, EventArgs e)
{
try
{
int Temp = int.Parse(((TextBox)sender).Text.Replace(",", string.Empty).Trim());
}
catch (Exception)
{
((TextBox)sender).Text = string.Empty;
}
}
private void cmbYear_Leave(object sender, EventArgs e)
{
try
{
int Temp = int.Parse(((ComboBox)sender).Text);
}
catch (Exception)
{
((ComboBox)sender).Text = string.Empty;
}
}
private void txtServDetGovCost_Leave(object sender, EventArgs e)
{
try
{
int Temp = int.Parse(((TextBox)sender).Text.Replace(",", string.Empty).Trim());
}
catch (Exception)
{
((TextBox)sender).Text = "0";
}
//CalculateField();
}


#endregion

و البته کلیدهای مشابه مثل #if و ....

SabaSabouhi
یک شنبه 24 خرداد 1394, 13:26 عصر
الان کدهای من مثلا در یک فرمی که نگاه کردم حدود 3000 خط هست و کد هاشم تقریبا به همدیگه هر 50 خط 50 خط به هم مرتبط میشه

سلام
دوستان روش‌های درستی رو پیش‌نهاد دادن. من ضمن تایید نوشته‌های دوستانم، فقط مطالب رو برات کمی دسته بندی می‌کنم.

1. باید بتونی اشیاء رو شناسایی کنی و با تبدیل کردن اون‌ها به کلاس، کمی از بار فرم‌هات رو کم کنی.
مثلاً اگه قرار هست توی فرم درخواستی مورد بررسی قرار بگیره. خود این «درخواست» می‌تونه یک شی باشه. پس کلاسی
با نام Request می‌سازی. این کلاس یک سازنده باید داشته باشه که درخواست جدید رو بسازه. و متدهایی که مثلاً مجاز بودن
درخواست رو بررسی کنه، وضعیت درخواست رو تغییر بده، به اون درخواست رسیدگی کنه و غیره.
تمام این موارد در حال حاضر تو کد فرم نوشته شده در حالی که هیچ ربطی به فرم نداره. بلکه به ماهیت و شی «درخواست» مربوط
می‌شه.
این ها رو تفکیک کن و از فرمت خارج کن، هر کلاس برای خودش می‌شه یک فایل مجزا و به این شکل فرمت به شکل محسوسی کوچیک می‌شه.

2. از ابزارها و frameworkهای شناخته شده و مفید استفاده کن.
مثلاً اگه از Entity Framework استفاده کنی، برای عملیات ذخیره و بازیابی اطلاعات حجم کد خیلی کمتری خواهی داشت.

3. به سمت برنامه‌نویسی لایه‌ای مهاجرت کن.
در برنامه‌نویسی لایه‌ای، لایه‌های ارتباط با داده‌ها، منطق و ارتباط با کاربر به صورت کامل از هم تفکیک می‌شه.
سعی کن به هیچ عنوان کدهای مربوط به ذخیره و بازیابی رو توی فرم انجام ندی. این‌ها رو ببر تو لایه‌ی Business و فقط متدهای
مربوطه رو اینجا صدا کن.
مثلاً بجای join چند تا جدول و بررسی‌های لازم روی اطلاعات شما برای بازیابی اطلاعات از توی فرم، فقط باید یک خط رو فراخوانی کنی.

var list = CustomersBll.ListAllActiveCustomers();




که مثلا این متد که توی لایه‌ی Bll ( معمولاً یه dll جداگانه ) قرار می‌گیره، با join کردن جدول مشتریان و خریدهای انجام شده و مقایسه‌ی تعداد
خریدها در ماه با یک مقدار مشخص ( مثلاً 3 خرید ) فهرست این مشتریان رو بر می‌گردونه.

این کارها به هیچ عنوان به لایه‌ی UI ( که فرم شما در اون لایه قرار داره ) ارتباطی نداره. شما فقط باید یک لیست رو دریافت کنی.

صبا صبوحی