2016-03-10 11 views
9

Tôi đã nhìn thấy liên kết này trước nhưng dường như không có nhiều hoạt động: Naming convention for IDs in AndroidThực tiễn tốt nhất cho quy ước đặt tên ID trong Android?

Tôi tò mò về cách đặt tên ID cho các mục khác nhau trong Chế độ xem thiết kế trên Android Studio.

Hiện tại tôi đang làm những việc như sau: Nếu đó là TextView có văn bản "Chào mừng bạn đến với Chương trình của tôi", tôi sẽ đặt tên là welcomeTextViewID. Nếu đó là một Nút bắt đầu một số chương trình con được gọi là doStuff, tôi có thể gọi nó là doStuffButtonID.

Nói cách khác, tôi sử dụng một loại quy ước descriptor + datatype + ID.

Đây có phải là hành vi không tốt? Tôi luôn nghe những điều hỗn độn về việc sử dụng các bộ mô tả bên trong tên. Ví dụ trong một ngôn ngữ như C++ đặt tên biến chuỗi nameString (vì nếu bạn thay đổi kiểu dữ liệu sau đó bạn cũng phải cập nhật tên).

+0

Thực sự không có thực hành "tốt" hoặc "xấu" về cách đặt tên cho tài nguyên của bạn. Nó chỉ thực sự phụ thuộc vào những gì làm việc cho bạn. Và bạn dường như có lý do riêng của mình vì sao phải làm hoặc không làm những việc nhất định, trong trường hợp đó tôi sẽ nói theo đường ruột của bạn. Là một nhà phát triển java, tôi đã từng có tên dài, mô tả cho mọi thứ và tôi thích nó theo cách đó. Nhưng một số đồng nghiệp của tôi, những người được đào tạo trong javascript hoặc C++ thích một phong cách khác nhau. Vì vậy, nó thực sự đi xuống đến sở thích cá nhân. – NoChinDeluxe

Trả lời

5

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

Tiếp tục ID đặt tên

ID nên được bắt đầu bằng tên của phần tử trong gạch chữ thường. Ví dụ:

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

xem ví dụ:

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

menu dụ:

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

Các hướng dẫn tốt nhất mà tôi đã từng gặp và tôi làm theo họ.

+0

“Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần quan trọng của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. ” –

+1

@WaiHaLee Tôi đồng ý với bạn và cập nhật câu trả lời cho phù hợp – UMESH0492

4

tu tập của tôi:

@+id/SummaryActivityName_SummaryViewType_Descrition 

Ví dụ:

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

Bằng cách này là tốt hơn nhiều để tìm kiếm Quan điểm về một dự án lớn. Tôi hy vọng nó giúp ích.

Chỉnh sửa: Đặt cùng tên ID trên tên biến. Ví dụ:

private TextView MyAct_Txv_UserName; 

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

Tôi cũng sử dụng quy ước tương tự cho tên XML, ví dụ: 'main_screen__activity',' main_screen__content', v.v. - cách này liên quan đến các mục được nhóm lại với nhau. Tài nguyên Android tuyệt vọng cần không gian tên ... –

1

Tôi tuân theo loại quy ước đặt tên này cho ID trong Android.

Ex:

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

Bởi chỉ cần nhìn vào id bạn có thể xác định thành phần của bạn. và sử dụng cùng một id trong java để tránh nhầm lẫn.

Các vấn đề liên quan