Naming List and Item
Usually we have a QuoteListActivity which have a RecyclerView of quotes, and a QuoteActivity which allow us to show detail/edit a quote.
QuoteActivity
QuoteListActivityor
QuoteActivity
QuoteEditActivity
QuoteViewActivityViewModel
If you are using MVVM, you shall have a ViewModel for each activity/fragment as well.
QuoteActivity
QuoteListActivity
QuoteListViewModel
QuoteViewModelNOTE: I prefer putting activity/fragment and ViewModel within the same package/directory for easy reference.
To maintain ordering, you can rename the file (not the class) to the following. (only for Kotlin, not Java)
Quote_Activity
Quote_ViewModel
QuoteList_Activity
QuoteList_ViewModelNOTE: Refer to Android File Naming To Maintain Sort Order.
Layout
By default, Android Studio shall create the following layout files.
activity_quote.xml
activity_quote_list.xml
content_quote.xml
content_quote_list.xml
fragment_profile.xmlI personally found seperation of activity_ and content_ not necessary (most of the time), and distinguishing activity_ and fragment_ unecessary. I prefer to quotelist.xml rather than quote_list.xml (underscore _ reserved for sub layout for an activity/fragment).
profile.xml
quote.xml
quoteedit.xml
quotelist.xmlIf separating activity_ and content_ is prefered, the following could be used.
profile.xml
profile_content.xmlNOTE: I should not have a activity/dialog/fragment of the same name.
For a activity with RecyclerView, usually there are one or more additional layout files for the individual item. Or an activity might have a sub fragment.
profile.xml
profile_history.xml
quote.xml
quoteedit.xml
quotelist.xml
quotelist_item.xmlNOTE: quotelist_item.xml is an RecyclerView item of quotelist.xml. profile_history.xml is a sub layout of profile.xml.
NOTE: the motivation of the naming is to group relevant files together.
Using underscore (e.g. quote_edit) or camelCase (e.g. quoteEdit) will mess up the ordering.
profile.xml
profileBasic.xml
profile_basic.xml
profile_content.xmlNOTE: Notice profileBasic.xml and profile_basic.xml (another activity) is in between profile.xml (activity) and profile_content.xml, where profile.xml (activity) and profile_content.xml (content) should be next to each other.
Using all lowercase naming (e.g. profile, profiletwo, etc) will maintain ordering.
profile.xml
profile_content.xml
profilebasic.xml