2009-12-16 44 views
6

Gần đây tôi đã thực hiện rất nhiều công việc đầu cuối. Một số nhà phát triển ở đây đã đặt tên cho các yếu tố của họ như "divPhotoGalleryContainer" và đôi khi tôi sẽ chỉ xem "galleryContainer".HTML: Quy ước đặt tên cho thuộc tính ID

Có quy ước đặt tên tốt không? Việc thêm "div" có thực sự hữu ích không?

+0

có thể trùng lặp với [quy ước đặt tên HTML cho ID, lớp và bao gồm tiền tố loại phần tử?] (Http://stackoverflow.com/questions/939909/ html-đặt tên-quy ước-cho-id-class-và-to-bao gồm-yếu tố-loại-tiền tố) –

Trả lời

1

Quy ước đặt tên tốt nhất là quy ước có ý nghĩa đối với nhà phát triển/nhà thiết kế tham gia dự án. Với hai ví dụ trong câu hỏi của bạn, tôi sẵn sàng đặt cược rằng "divPhotoGalleryContainer" chứa "div" vì một trong hai: nó được tham chiếu trong bộ chọn CSS hoặc một số mã javascript đang xem xét nó và cách nào đó là hữu ích để biết loại yếu tố mà id đang đề cập đến.

Quy ước "divPhotoGalleryContainer" có vẻ giống như một hương vị HTML-ish của Hungarian notation.

2

Tôi không nghĩ nó đặc biệt hữu ích, nhưng tôi không nghĩ nó có hại. Nhất quán là quy ước quan trọng nhất.

+0

LOL, tôi đoán ai đó không đồng ý, nhưng không phải là xây dựng, đủ để nói lý do tại sao. –

0

Điều quan trọng nhất là bạn đang thống nhất với bất kỳ phương pháp nào bạn sử dụng.

Tuy nhiên, tôi luôn thấy hữu ích khi sử dụng ký hiệu kiểu hungarian của "divPhotoGalleryContainer" và "txtLastName". Nó giúp dễ dàng phân biệt các phần tử trang với các biến khác, cả phía máy khách lẫn phía máy chủ.

3

Điều ngu ngốc là, ký hiệu Hungary như divPhotoGalleryContainer hoàn toàn không cần thiết với CSS. Bạn có thể đặt tên ID PhotoGalleryContainer và nhắm mục tiêu nó vào một yếu tố <div> trong CSS:

div#PhotoGalleryContainer { 
    /* rules */ 
} 

Bên trong quy tắc mà bạn thường có thể giả định tính chất nhất định như display: block, trừ khi bạn đang nhắm mục tiêu divs chung ở một nơi khác (thực hành kinda xấu) .

Không thực sự có bất kỳ quy ước cụ thể nào để đặt tên, chỉ cần sử dụng tên rõ ràng và đơn giản.

+7

Điều khác nữa, là điều gì sẽ xảy ra nếu divPhotoGalleryContainer không còn là div sau này nữa? Nếu ulProductList trở thành ol thì sao? – Rob

+0

Điểm tốt Rob. –

+0

Bạn không cần suy ra loại phần tử có id, vì id là duy nhất. Tuy nhiên, bạn có thể sử dụng ký pháp Hungary trong ví dụ tưởng tượng này: #passwordContainer, vì nó dễ dàng được phân biệt với #passwordLabel và #passwordInput –

0

Không có hại khi thêm "div" trong trường hợp đó. Như DisgruntledGoat đã nói, ký hiệu hungarian có thể vô ích với CSS (nghĩa là, unles bạn không muốn giới hạn một class thành một kiểu phần tử), và nhận xét của Rob là đúng, thậm chí bạn có thể thay đổi các phần tử và giữ cùng lớp/ID, nhưng, có thể hữu ích khi hiểu mã tốt hơn, gần đây.

Tôi luôn sử dụng ký hiệu hungarian vì tôi đã quen với nó. Nếu bạn quen với một cái gì đó, hãy giữ nó, vì nó dễ dàng hơn thay đổi nó. Trong enviroinments nơi nhiều lập trình viên đang viết những thứ giống nhau, trừ khi có một quy ước, bạn có thể viết như bạn muốn. Tuy nhiên, quá mô tả không phải là xấu như được mô tả dưới. Điều đó nói rằng, tôi bỏ phiếu cho tên toàn diện cho tất cả mọi thứ bao gồm các biến, chức năng, các lớp học, ID, các yếu tố XML, vv. Nếu nó khó đọc, sử dụng nhiều/không gian/dòng được đặt tốt hơn. Nếu nó thêm nhiều hơn muốn kích thước tập tin, giảm thiểu nó.

1

Thật tốt khi có quy ước đặt tên, vì nó sẽ giúp bạn theo dõi các yếu tố và lớp học của bạn và giúp bạn không phải đọc mã html để tìm ra yếu tố nào được đặt tên. Điều này sẽ giúp bạn cả khi viết css và javascript.Một quy ước đặt tên tốt cho một id nên bao gồm:

  • một cách để phân biệt các yếu tố liên quan chặt chẽ, chẳng hạn như #passwordContainer từ #passwordLabel và #passwordInput chứ không phải là tên presentational
  • tên cấu trúc, ví dụ # chính-content thay vì # màu xanh dương (vì màu có thể thay đổi sau). Thông tin thêm tại đây: http://sixrevisions.com/css/css-tips/css-tip-2-structural-naming-convention-in-css/
  • cách để phân biệt các yếu tố tương tự, ví dụ trên trang liệt kê các bài đăng khác nhau có cùng loại yếu tố, bạn có thể đặt tên cho chúng là # postContainer-43 và # postContainer-95 cho bài đăng số 43 và 95 tương ứng và cung cấp cho họ lớp .post hoặc .postContainer
Các vấn đề liên quan