نمایش نتایج 1 تا 12 از 12

نام تاپیک: نام گذاری اصولی

  1. #1

    نام گذاری اصولی

    چند تا کلاس دارم که هر کدوم واسه خودش یک مفهموم a رو به عنوان یک peroperty داره
    یعنی کلاس X یه Peroperty داره از نوع a با مشخصه های خاص خودش
    همینطور دیگر کلاس ها
    یه روش نامگذاری اینه که اول نام هر Peroperty نام کلاس مربوطه رو هم بزارم
    و روشی دیگه اینکه تمام کلاس ها دارای Peroperty
    a باشن روش درست کدومه؟

  2. #2

    نقل قول: نام گذاری اصولی

    من دومی رو انتخاب میکنم.
    در طراحی دات نت هم همین کار رو کردن.
    وقتی اسم کلاس پشت خصوصیت هست(قبل از نقطه) دیگه نیازی نیست که دوباره اسم کلاس رو پشت خصوصیت ذکر کنید.

  3. #3

    نقل قول: نام گذاری اصولی

    جای تعریف a توی خود کلاس X هست یا یک کلاس مجزا برای تعریف مفاهیم a تمام کلاس ها

  4. #4

    نقل قول: نام گذاری اصولی

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

  5. #5

    نقل قول: نام گذاری اصولی

    منظور من چیز دیگری هست
    کلاس ها تشکیل شدن از یک سری peroperty struct enum
    راه اصولی تعریف تمام اینها در کلاسی به نام structS هست یا نه
    هر کلاس peroperty struct enum های خاص خود رو داشته باشه

  6. #6

    نقل قول: نام گذاری اصولی

    گفتم که اگه مشترکن و توی همه کلاسها یکسان هستند بهتره توی همون به قول خودتون کلاس strucS تعریف بشن تا از تکرار کد جلوگیری بشه.
    مثلا اگه یک کلاس به نام a و کلاس دیگه به نام b دارید و این دو کلاس در یک خصوصیت مثل name با هم مشترک هستند یعنی name از یک نوع و با یک هدف ایجاد شده، بهتره یک کلاس پایه تعریف کنید که name رو داره و a و b رو از اون ارث بری کنید.
    کجاش رو سوال دارید؟

  7. #7

    نقل قول: نام گذاری اصولی

    تا اینجا اوکی
    جواب سوال اولم رو گرفتم
    سوال:
    کلاس X دارای یک struct یک enum و یک کلاس a هست
    کلاس Y دارای دو struct دو enum و یک کلاس b هست

    اگر یک کلاس Z تعریف کنم و تمام :
    struct enum و a کلاس X
    و struct enum و b کلاس Y
    در اون تعریف کنم اصولیست یا خیر؟
    کلاس z اینطوری دارای 3 enum 3 struct و دو کلاس خواهد بود

  8. #8

    نقل قول: نام گذاری اصولی

    نقل قول نوشته شده توسط PC2st مشاهده تاپیک
    علاوه بر توضیحات دوستان و برای جمع‌بندی:
    انواع شمارشی (enumerated types) از مجموعه‌ای از ثابتهای عددی تشکیل شده‌اند و بهتر است به آنها property (خاصیت) نگوییم.
    ۱) enum را در یک فضای نام اختصاصی ایجاد کنید:

    namespace EnumType1
    {
    enum EnumType1
    {
    First,
    Last
    };
    }
    namespace EnumType2
    {
    enum EnumType2
    {
    First,
    Last
    };
    }
    برای دسترسی به اعضای آن:

    EnumType1::First
    EnumType1::Last
    EnumType2::First
    EnumType2::Last
    ۲) روش دیگر همان است که خودتان نیز گفتید، نام آن را در کنار اعضای آن بنویسید:

    enum EnumType1
    {
    EnumType1_First,
    EnumType1_Last
    };
    enum EnumType2
    {
    EnumType2_First,
    EnumType2_Last
    };
    برای دسترسی به اعضای آن:

    EnumType1_First
    EnumType1_Last
    EnumType2_First
    EnumType2_Last
    ۳) روش دیگر این است که از قابلیت استاندارد جدید ++C (معروف به C++‎‎‎‎0x) استفاده کنید:

    enum class EnumType1
    {
    First,
    Last
    };
    enum class EnumType2
    {
    First,
    Last
    };
    برای دسترسی به اعضای آن:

    EnumType1::First
    EnumType1::Last
    EnumType2::First
    EnumType2::Last
    بنابراین با تعریف نوع بصورت enum class، اعضای انواع enum با هم تداخل نخواهد داشت.

    با این توضیحات مشخص شد که تمام enum ها داخل یک کلاس مخصوص enum ذخیره بشن اوکی
    اما ایا این قانون برای مشخصه های دیگر جز enum هم صادق هست؟
    مثلا برای struct ها
    یا کلاس هایی که فقط peroperty دارن و متد یا سازنده ای در انها نیست

  9. #9

    نقل قول: نام گذاری اصولی

    کلاس a که داخل X وجود داره ارث بری شده یا یک فیلد است؟

    class x:a
    ----or
    class x
    {
    Public A a=new A();
    }


  10. #10

    نقل قول: نام گذاری اصولی

    نقل قول نوشته شده توسط mohammad_bagherani مشاهده تاپیک
    کلاس a که داخل X وجود داره ارث بری شده یا یک فیلد است؟

    class x:a
    ----or
    class x
    {
    Public A a=new A();
    }


    اصلا فرض بر اینه که مفاهیم جدا هستند و ارث بری هم نشدن

  11. #11
    کاربر دائمی آواتار PC2st
    تاریخ عضویت
    آذر 1385
    محل زندگی
    کرمانشاه
    سن
    38
    پست
    1,491

    نقل قول: نام گذاری اصولی

    با این توضیحات مشخص شد که تمام enum ها داخل یک کلاس مخصوص enum ذخیره بشن اوکی
    اما ایا این قانون برای مشخصه های دیگر جز enum هم صادق هست؟
    مثلا برای struct ها
    یا کلاس هایی که فقط peroperty دارن و متد یا سازنده ای در انها نیست
    این حالت برای زبان ++C/C و فقط برای enum ها صادق است.
    متاسفانه بعد از ارسال مطلب متوجه به بی‌ربط بودن آن شدم و شما هم آن را نقل قول کردید، پس دیگر راه فراری نیست

  12. #12

    نقل قول: نام گذاری اصولی

    نقل قول نوشته شده توسط PC2st مشاهده تاپیک
    این حالت برای زبان ++C/C و فقط برای enum ها صادق است.
    متاسفانه بعد از ارسال مطلب متوجه به بی‌ربط بودن آن شدم و شما هم آن را نقل قول کردید، پس دیگر راه فراری نیست
    من بعضی از کامپونت های معروف مثل REALDWG رو دیدم که تمام enum ها رو جدا کرده پس این روش اصولی هست؟؟؟
    آخرین ویرایش به وسیله saed2006 : دوشنبه 30 فروردین 1389 در 12:07 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •