2016-03-10 14 views
9

Widziałem ten link pierwszy, ale nie wydaje się mieć dużo działalność: Naming convention for IDs in AndroidNajlepsze praktyki dotyczące konwencji nazewnictwa identyfikatorów w systemie Android?

Jestem ciekaw, co najlepsze praktyki jest nazewnictwa identyfikatorów dla poszczególnych elementów w widoku projektu na Androida Studio.

W tej chwili robię rzeczy takie jak to: Jeśli to TextView z tekstem "Welcome To My Program", nazwij to welcomeTextViewID. Jeśli jest to Button, który uruchamia podprogram o nazwie doStuff, mogę go nazwać doStuffButtonID.

Innymi słowy używam rodzaju konwencji descriptor + datatype + ID.

Czy uważa się to za złą praktykę? Zawsze słyszałem różne rzeczy przy użyciu deskryptorów w nazwie. Na przykład w języku takim jak C++, nazywając zmienną łańcuchową nameString (ponieważ jeśli później zmienisz typ danych, musisz również zaktualizować nazwę).

+0

Nie ma naprawdę "dobrej" lub "złej" praktyki w zakresie nazywania zasobów. To naprawdę zależy od tego, co działa dla ciebie. I wydaje się, że masz własne powody, dla których możesz robić, a nie robić pewnych rzeczy, w którym to przypadku powiedziałbym, że podążasz za swoim jelitem. Jako programista java jestem przyzwyczajony do długich, opisowych nazw rzeczy i podoba mi się to w ten sposób. Ale niektórzy z moich kolegów, którzy są przeszkoleni w javascript lub C++, wolą inny styl. Tak naprawdę sprowadza się to do osobistych preferencji. – NoChinDeluxe

Odpowiedz

5

Zamówienie ->https://github.com/umesh0492/android-guidelines

Dalsze ID nazywania

identyfikatory powinny być poprzedzona nazwą elementu małymi podkreślenia. Na przykład:

+---------------------+ 
| Element | Prefix | 
|-----------+---------+ 
| TextView | text_ | 
| ImageView | image_ | 
| Button | button_ | 
| Menu  | menu_ | 
+-----------+---------+ 

widok przykład:

<ImageView 
    android:id="@+id/image_profile" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

przykład Menu:

<menu> 
    <item 
     android:id="@+id/menu_done" 
     android:title="Done" /> 

Najlepsze wytyczne, jakie kiedykolwiek widziałem, a ja za nimi.

+0

"Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić tutaj istotne części odpowiedzi i podać odnośnik. Odpowiedzi dotyczące linków mogą stać się nieważne, jeśli strona z linkami się zmieni. " –

+1

@WaiHaLee Zgadzam się z Tobą i odpowiednio zaktualizowałem odpowiedź – UMESH0492

4

My się wirusem HIV:

@+id/SummaryActivityName_SummaryViewType_Descrition 

Na przykład:

@+id/MyAct_Txv_UserName 
@+id/MyAct_Grd_GridUsers 
@+id/MyFrag_LstView_UserList 

Ten sposób jest o wiele lepiej szukać poglądy na temat dużego projektu. Mam nadzieję, że to pomoże.

Edytuj: Wprowadź tę samą nazwę ID na nazwie zmiennej. Przykład:

private TextView MyAct_Txv_UserName; 

protected void onCreate(...){ 
    MyAct_Txv_UserName = (TextView) findViewById(R.id.MyAct_Txv_UserName); 
    ... 
} 
+1

Używam również podobnej konwencji dla nazw XML, np. 'main_screen__activity',' main_screen__content', itp. - w ten sposób powiązane elementy są pogrupowane razem. Zasoby Androida rozpaczliwie potrzebują przestrzeni nazw ... –

1

Podążam za konwencją nazewnictwa dla identyfikatorów w systemie Android.

Ex:

Button : bt_Submit 
TextView : tv_Welcome 
EditText : et_Email_Id 
CheckBox : cb_Hobbies 
RadioButton : rb_Male 

By po prostu patrząc na identyfikatorze można identyfikować komponent. i używaj tego samego identyfikatora w java, aby uniknąć nieporozumień.

Powiązane problemy