mmbguide
جمعه 26 مرداد 1403, 20:58 عصر
سلام
در بکارگیری کلاس ها، ثابت ها و... علاقه زیادی دارم تا از نام کامل استفاده کنم و در بیشتر کلاس ها اصلا using ندارم. اگرچه که خطوط کمی طولانی میشن و اجبارا برای خوانایی بهتر خطوط را میشکنم ولی در زمان مرور کدها کمی راحت تر هستم. سوالم اینه که آیا این کار تضادی با کد نویسی تمیز داره یا پیشنهاد میکنید برای خلوت کردن کدها حتما فضای نام را using کنم؟ البته در استفاده از using هم یک مشکل وجود داره. تمام Entityهایی که ساختم دارای Schema هستند و تمامی Modelها نیز در پوشه هایی هم نام با Schema قرار داده شده اند. برای مثال من دو کلاس در مسیرهای زیر دارم (Application = schema):
Models.Output.Application.ActionMethods.ActionMeth od();
Domain.Entities.Application.ActionMethods.ActionMe thod();
اگر فضای نام را using کنم و بخوام در یک متد از هر دو کلاس نمونه سازی کنم خطای زیر صادر میشه (Ambiguous reference):
using Ces.Caspian.Models.Output.Application.ActionMethod s;
using Ces.Caspian.Domain.Entities.Application.ActionMeth ods;
{
var a = new ActionMethod();
var b = new ActionMethod();
}
//'ActionMethod' is an ambiguous reference between 'Ces.Caspian.Domain.Entities.Application.ActionMet hods.ActionMethod' and 'Ces.Caspian.Models.Output.Application.ActionMetho ds.ActionMethod'
مگر آنکه در زمان نمونه سازی از نام کامل استفاده کنم:
var a = new Models.Output.Application.ActionMethods.ActionMeth od();
var b = new Domain.Entities.Application.ActionMethods.ActionMe thod();
تمامی کلاس هایی که در پروژه Model قرار دارند همان نقش DTO را دارند. چه به عنوان ورود اطلاعات و چه به عنوان خروجی. آیا نامگذاری Modelها اشکال دارند؟ در واقع سعی کردم از افزودن پیشوند و پسوند اضافه به نام Modelها پرهیز کنم.
تشکر
در بکارگیری کلاس ها، ثابت ها و... علاقه زیادی دارم تا از نام کامل استفاده کنم و در بیشتر کلاس ها اصلا using ندارم. اگرچه که خطوط کمی طولانی میشن و اجبارا برای خوانایی بهتر خطوط را میشکنم ولی در زمان مرور کدها کمی راحت تر هستم. سوالم اینه که آیا این کار تضادی با کد نویسی تمیز داره یا پیشنهاد میکنید برای خلوت کردن کدها حتما فضای نام را using کنم؟ البته در استفاده از using هم یک مشکل وجود داره. تمام Entityهایی که ساختم دارای Schema هستند و تمامی Modelها نیز در پوشه هایی هم نام با Schema قرار داده شده اند. برای مثال من دو کلاس در مسیرهای زیر دارم (Application = schema):
Models.Output.Application.ActionMethods.ActionMeth od();
Domain.Entities.Application.ActionMethods.ActionMe thod();
اگر فضای نام را using کنم و بخوام در یک متد از هر دو کلاس نمونه سازی کنم خطای زیر صادر میشه (Ambiguous reference):
using Ces.Caspian.Models.Output.Application.ActionMethod s;
using Ces.Caspian.Domain.Entities.Application.ActionMeth ods;
{
var a = new ActionMethod();
var b = new ActionMethod();
}
//'ActionMethod' is an ambiguous reference between 'Ces.Caspian.Domain.Entities.Application.ActionMet hods.ActionMethod' and 'Ces.Caspian.Models.Output.Application.ActionMetho ds.ActionMethod'
مگر آنکه در زمان نمونه سازی از نام کامل استفاده کنم:
var a = new Models.Output.Application.ActionMethods.ActionMeth od();
var b = new Domain.Entities.Application.ActionMethods.ActionMe thod();
تمامی کلاس هایی که در پروژه Model قرار دارند همان نقش DTO را دارند. چه به عنوان ورود اطلاعات و چه به عنوان خروجی. آیا نامگذاری Modelها اشکال دارند؟ در واقع سعی کردم از افزودن پیشوند و پسوند اضافه به نام Modelها پرهیز کنم.
تشکر