saeed.samiee
یک شنبه 27 خرداد 1386, 20:19 عصر
با سلام خدمت همه دوستان و اساتید گرامی
من یک برنامه نویس غیر حرفه ای هستم و فقط برای رفع نیازهای خودم و جلوگیری از کم هوشی ام گاهی برنامه نویسی هم میکنم. اینو فقط جهت اطلاع گفتم .
امروزیک برنامه نویس رو ملاقات کردم که خیلی برای برنامه اش زحمت کشیده بود ولی چون از هیچ روش نامگذاری برای Table ها ، Field ها و Sp ها و ... استفاده نکرده بود شدیدا دچار زحمت مضاعف شده بود البته برنامه اش رو حتما خریداری میکنم .
من به اون روش هایم را توضیح دادم علی اظاهر خوشش آمد . با خودم گفتم حتما برنامه نوس های دیگر روش های بهتری هم دارن و من از اونها بی اطلاع هستم . من روش های خودم رو که بیشترش توصیه های دوست عزیزم مهندس باقری است رو مینویسم شما هم روشها تون رو بنویسید مطمئن باشید حتما مفیده.
برای هر سیستم یک نام سه حرفی انتخاب میکنم حتی المقدور با معنی و در کل پروژه یکتا و اول همه Table ها ی اون سیستم میکذارم مثل ACC برای حسابداری INV برای انبار و ..
AccAccounts و AccSanadHds و AccSanadBys
تمام جدول ها به حرف S باید ختم بشن کنایه از اینه که جدول ها تک رکوردی نیستند
مثل PubCountries
برای هر Table یک نام سه حرفی و با حروف بزرگ انتخاب میکنم که البته در کل پروژه یکتا است و به آخر تمام فیلد های همون جدول وصل میکنم با این کار تمام فیلدها در کل پروژه یکتا میشه
فیلد های AccAccounts میشه SerialNoACS و AccountCodeACS و ..
با این کار هیچ وقت نیاز نیست نام یک جدول رو قبل از نام فیلد توی دستورات sql استفاده کنید.
فیلد های مرتبط جداول دیگر رو با نام کامل فیلد مرتبط و سه حرف اختصاصی جدول خودش نام کذاری میکنم مثلا برای جدول آرتیکل های سند AccSanadBys فیلد کد حساب این جوری میشه AccountCodeAcsSBS و شرحش ArticleDescSBS
در تمام جدول ها دو فیلد UserCodeXXXو TimeStampsXXX دارن که اولی کاربر اضافه کننده یا Edit کننده این رکورد است و دومی تاریخ و ساعت سرور است .
تمام جداول مهم یک نسخه Bak هم دارن و با همون نام جدول و یک Bak بعد از نام اختصاصی سیستم و یک Z هم اولش اضافه کردم تا دائما جلو چشمم نباشند مثل ZAccBakAccounts
و بجای سه حرف اختصاصی جدول اصلی چهار حرف دارن که سه حرف قبلی با یک حرف B مثل AccountCodeBACS
توی Sp های اصلاح و حذف جداول اصلی قبل از اینکه رکورد تغییر و یا حذف بشه یک نسخه از اون توی جدول Bak اضافه میشه با این کار سابقه رکورد رو دارم و برای تشنج زدائی محیط کار خیلی مفیده . البته باید هر چند وقت این جدول رو پاکسازی کرد و صد البته منحصرا از SP ها برای ارتباط با جداول استفاده کرد.
سعی میکنم توی جداول Bak کد چیزی رو ثبت نکنم شرح اونو ثبت میکنم مثلا بجای کد کاربر قبلی از نام اون استفاده میکنم UserNameOldBACS و بجای کد کاربر بایگانی کننده نام اون رو ثبت میکنم UserNameBACS برای اینکه نمی خواهم رکورد های این جداول به بقیه جداول وابسته باشه و مستقلا این رکوردها قابلیت ردیابی رو داشته باشند
فعلا بسه آخه میترسم یک ساعته بدیهییات رو توضیح داده باشم .
من یک برنامه نویس غیر حرفه ای هستم و فقط برای رفع نیازهای خودم و جلوگیری از کم هوشی ام گاهی برنامه نویسی هم میکنم. اینو فقط جهت اطلاع گفتم .
امروزیک برنامه نویس رو ملاقات کردم که خیلی برای برنامه اش زحمت کشیده بود ولی چون از هیچ روش نامگذاری برای Table ها ، Field ها و Sp ها و ... استفاده نکرده بود شدیدا دچار زحمت مضاعف شده بود البته برنامه اش رو حتما خریداری میکنم .
من به اون روش هایم را توضیح دادم علی اظاهر خوشش آمد . با خودم گفتم حتما برنامه نوس های دیگر روش های بهتری هم دارن و من از اونها بی اطلاع هستم . من روش های خودم رو که بیشترش توصیه های دوست عزیزم مهندس باقری است رو مینویسم شما هم روشها تون رو بنویسید مطمئن باشید حتما مفیده.
برای هر سیستم یک نام سه حرفی انتخاب میکنم حتی المقدور با معنی و در کل پروژه یکتا و اول همه Table ها ی اون سیستم میکذارم مثل ACC برای حسابداری INV برای انبار و ..
AccAccounts و AccSanadHds و AccSanadBys
تمام جدول ها به حرف S باید ختم بشن کنایه از اینه که جدول ها تک رکوردی نیستند
مثل PubCountries
برای هر Table یک نام سه حرفی و با حروف بزرگ انتخاب میکنم که البته در کل پروژه یکتا است و به آخر تمام فیلد های همون جدول وصل میکنم با این کار تمام فیلدها در کل پروژه یکتا میشه
فیلد های AccAccounts میشه SerialNoACS و AccountCodeACS و ..
با این کار هیچ وقت نیاز نیست نام یک جدول رو قبل از نام فیلد توی دستورات sql استفاده کنید.
فیلد های مرتبط جداول دیگر رو با نام کامل فیلد مرتبط و سه حرف اختصاصی جدول خودش نام کذاری میکنم مثلا برای جدول آرتیکل های سند AccSanadBys فیلد کد حساب این جوری میشه AccountCodeAcsSBS و شرحش ArticleDescSBS
در تمام جدول ها دو فیلد UserCodeXXXو TimeStampsXXX دارن که اولی کاربر اضافه کننده یا Edit کننده این رکورد است و دومی تاریخ و ساعت سرور است .
تمام جداول مهم یک نسخه Bak هم دارن و با همون نام جدول و یک Bak بعد از نام اختصاصی سیستم و یک Z هم اولش اضافه کردم تا دائما جلو چشمم نباشند مثل ZAccBakAccounts
و بجای سه حرف اختصاصی جدول اصلی چهار حرف دارن که سه حرف قبلی با یک حرف B مثل AccountCodeBACS
توی Sp های اصلاح و حذف جداول اصلی قبل از اینکه رکورد تغییر و یا حذف بشه یک نسخه از اون توی جدول Bak اضافه میشه با این کار سابقه رکورد رو دارم و برای تشنج زدائی محیط کار خیلی مفیده . البته باید هر چند وقت این جدول رو پاکسازی کرد و صد البته منحصرا از SP ها برای ارتباط با جداول استفاده کرد.
سعی میکنم توی جداول Bak کد چیزی رو ثبت نکنم شرح اونو ثبت میکنم مثلا بجای کد کاربر قبلی از نام اون استفاده میکنم UserNameOldBACS و بجای کد کاربر بایگانی کننده نام اون رو ثبت میکنم UserNameBACS برای اینکه نمی خواهم رکورد های این جداول به بقیه جداول وابسته باشه و مستقلا این رکوردها قابلیت ردیابی رو داشته باشند
فعلا بسه آخه میترسم یک ساعته بدیهییات رو توضیح داده باشم .