2016-03-10 15 views
9

ho visto questo link prima, ma non sembrava avere molta attività: Naming convention for IDs in AndroidLe migliori pratiche per le convenzioni di denominazione degli ID in Android?

Sono curioso di ciò che la pratica migliore è per la denominazione ID per le varie voci in Vista su Android Studio.

In questo momento sto facendo cose del genere: se si tratta di un TextView con il testo "Welcome To My Program", lo chiamerò welcomeTextViewID. Se si tratta di un pulsante che avvia alcune subroutine chiamate doStuff, potrei chiamarlo doStuffButtonID.

In altre parole, utilizzo una sorta di convenzione descriptor + datatype + ID.

È considerata una cattiva pratica? Ho sempre sentito cose diverse nell'usare i descrittori all'interno del nome. Ad esempio in una lingua come C++ che nomina una variabile di stringa nameString (poiché se si modifica il tipo di dati in un secondo momento è necessario aggiornare anche il nome).

+0

Non c'è davvero alcuna pratica "buona" o "cattiva" relativa alla denominazione delle risorse. Dipende solo da ciò che funziona per te. E tu sembri avere le tue ragioni per cui devi fare o non fare certe cose, nel qual caso direi segui il tuo istinto. Come sviluppatore Java, sono abituato ad avere nomi lunghi e descrittivi per le cose, e mi piace così. Ma alcuni dei miei colleghi che sono formati in javascript o C++ preferiscono uno stile diverso. Quindi si riduce alle preferenze personali. – NoChinDeluxe

risposta

5

Checkout ->https://github.com/umesh0492/android-guidelines

Ulteriori ID denominazione

ID deve essere preceduto con il nome dell'elemento nella sottolineatura minuscolo. Per esempio:

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

vista esempio:

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

esempio Menu:

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

Le linee guida sulle migliori che abbia mai visto e io li seguo.

+0

"Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte al solo collegamento possono diventare non valide se la pagina collegata cambia. " –

+1

@WaiHaLee Sono d'accordo con te e ho aggiornato la risposta di conseguenza – UMESH0492

4

mio pratice:

@+id/SummaryActivityName_SummaryViewType_Descrition 

Ad esempio:

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

In questo modo è molto meglio per raccogliere i pareri su un grande progetto. Spero sia d'aiuto.

Modifica: Inserire lo stesso nome ID su un nome di variabile. Esempio:

private TextView MyAct_Txv_UserName; 

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

Uso anche una convenzione simile per i nomi XML, ad es. 'main_screen__activity',' main_screen__content', ecc. - in questo modo gli elementi correlati sono raggruppati. Le risorse Android necessitano disperatamente di spazi dei nomi ... –

1

Seguo questo tipo di convenzione di denominazione per ID in Android.

Es:

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

da solo guardando id è possibile identificare il componente. e usare lo stesso id in java per evitare confusione.