چند سوال بنیادی برای برنامه نویسی در پروژه های بزرگ

پرسیده شده
فعالیت 1169 روز پیش
دیده شده 527 بار
0

سلام. سه تا سوال داشتم:

 

1) آیا View Binding به صورتیکه در این لینک توضیح داده شده به جای findViewById پیشنهاد میشه یا خیر؟ اگر نمیشه دقیق گفت بله یا خیر لطفا توضیح بدید که در چه مواردی یا کجاها بهتره استفاده بشه و کجاها نباید استفاده بشه.

 

2) در نامگذاری Viewها اینجوری رایجه که در فایل xml بصورت snake_case و در کلاس‌ها بصورت camelCase انجام میشه اما وقتی خود اندروید استودیو یک View رو نامگذاری میکنه حتی در xml هم camelCase نامگذاری میکنه، بهتر نیست همه جا camelCase نامگذاری کنیم؟

مثلا در مواردی که از ViewBindingی که گفتم استفاده میکنیم تفاوت در نام Viewها باتوجه به اینکه از نامگذاری مجدد در کلاس ها خبری نیست این تفاوت در نام ها در xml و کلاس ها خیلی توی سرچ در پروژه مشکل ایجاد میکنه.

 

3) به لحاظ نامگذاری حرفه ای، آیا ایرادی داره اگر تغییری در نامگذاری رایج xmlهای اکتیویتی ها و فرگمنت ها بدیم؟ برای مثال اگر نام اکتیویتی MainActivity باشه XML میشه activity_main، و با توجه به اینکه Layoutها پکیج بندی نمیشن تو پروژه های بزرگ با Layout های زیاد همیشه پیدا کردن فایل مورد نظر سخته، درسته همه اکتیویتی ها زیر هم و همه فرگمنت ها زیر هم نمایش داده میشه ولی این زیبایی و دو دسته کردن عملا کمکی به سرعت کار نمیکنه، حتی زیبایی آنچنانی ای هم به نامگذاری فایل ها نمیده. من عادت دارم اینجوری نامگذاری میکنم: main_activity، students_activity، students_fragment، students_dialog و اتفاقا باعث میشه مثلا اگر پنج Layout مرتبط با student داریم همه زیر هم نمایش داده بشه که این دسته بندی مفیدتریه نسبت به دسته بندی پیشفرض. میخواستم نظر حرفه ای در این مورد رو بدونم.

فایل پیوست

Freestyle
Freestyle

2 اسفند 99

1
حذف شده

سلام وقت بخیر علیرضای عزیز

 

1-بله بهتره که از view binding بجای findViewById و یا synthetic استفاده کنید و نکته ای که هست ربطی به کوچک یا بزرگ بودن پروژه ندارند.

در زیر چند لینک رو براتون قرار میدم که چرا از view binding استفاده کنیم.

 

لینک 

لینک2

لینک3

2-این مورد واقعا بستگی به خودتون داره و شرکتی که کار میکنید(قراردادی هست) مثلا sample های گوگل هم بررسی کنین میبینین به دو شیوه نامگذاری کرده.

3-درمورد این سوال حداقل من ندیدم کسی یا سمپلی چنین نامگذاری رو انجام بده حتی وقتی ما یک اکتیویتی یا فرگمنت هم میسازیم نام گذاری به شکل activity_main برای لیوت مد نظر صورت میگیره

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

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

2 اسفند 99