2016-03-10 9 views
9

Ich sah zuerst diesen Link, aber es schien nicht viel Aktivität zu haben: Naming convention for IDs in AndroidBest Practices für ID-Namenskonventionen in Android?

Ich bin gespannt, was die beste Praxis für die Benennung von IDs für die verschiedenen Elemente in der Entwurfsansicht auf Android Studio ist.

Im Moment mache ich Sachen wie diese: Wenn es ein TextView mit dem Text "Willkommen zu meinem Programm" ist, werde ich es welcomeTextViewID nennen. Wenn es ein Button ist, der ein Unterprogramm namens doStuff startet, kann ich es doStuffButtonID nennen.

Mit anderen Worten verwende ich eine Art von descriptor + datatype + ID Konvention.

Wird dies als schlechte Praxis angesehen? Ich habe immer unterschiedliche Dinge über die Verwendung von Deskriptoren im Namen gehört. Zum Beispiel in einer Sprache wie C++ Benennung einer String-Variablen nameString (da, wenn Sie den Datentyp später ändern, müssen Sie auch den Namen aktualisieren).

+0

Es gibt wirklich keine "gute" oder "schlechte" Praxis in Bezug auf die Benennung Ihrer Ressourcen. Es kommt nur darauf an, was für dich funktioniert. Und du scheinst deine eigenen Gründe zu haben, warum du bestimmte Dinge tun oder nicht tun solltest. In diesem Fall würde ich sagen, folge deinem Bauchgefühl. Als Java-Entwickler bin ich daran gewöhnt, lange, beschreibende Namen für Dinge zu haben, und ich mag es so. Aber einige meiner Kollegen, die in Javascript oder C++ ausgebildet sind, bevorzugen einen anderen Stil. Es kommt also wirklich auf persönliche Vorlieben an. – NoChinDeluxe

Antwort

5

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

Weitere ID

IDs Namensgebung sollte mit dem Namen des Elements in Kleinunterstrich vorangestellt werden. Zum Beispiel:

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

Ansicht Beispiel:

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

Menü Beispiel:

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

Die besten Richtlinien, die ich je gesehen habe und ich folgen ihnen nach.

+0

"Während dieser Link die Frage beantworten kann, ist es besser, die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. " –

+1

@WaiHaLee Ich stimme Ihnen zu und aktualisierte die Antwort entsprechend – UMESH0492

4

Mein pratice:

@+id/SummaryActivityName_SummaryViewType_Descrition 

Zum Beispiel:

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

Auf diese Weise viel besser ist Ansichten auf ein großes Projekt zu suchen. Ich hoffe es hilft.

Bearbeiten: Setzen Sie den gleichen ID-Namen auf einen Variablennamen. Beispiel:

private TextView MyAct_Txv_UserName; 

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

Ich verwende auch ähnliche Konvention für XML-Namen, z. 'main_screen__activity',' main_screen_content', etc. - diese wegbezogenen Elemente werden zusammen gruppiert. Android-Ressourcen benötigen dringend Namespaces ... –

1

Ich folge dieser Art der Namenskonvention für IDs in Android.

Ex:

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

Mit nur bei id suchen Sie die Komponente identifizieren. und benutze die gleiche ID in Java, um Verwirrung zu vermeiden.