2012-01-20 79 views
5

Tôi có một truy vấn chung về tên của các phần tử html.quy ước đặt tên cho các phần tử html

tôi đã thấy trong các nhà phát triển qua việc đặt một tiền tố trước id của các yếu tố html của họ ví dụ cho một phần tử div -> dvMyDiv

Tôi đã thấy một kết hợp của vỏ khi đặt tên nguyên tố. Tương tự như gán tên cho các lớp phần tử.

Vì vậy, tôi tự hỏi liệu có bất kỳ tiêu chuẩn hay quy ước nào về các yếu tố html nào nên được đặt tên không? Vỏ gì? Họ có tiền tố không?

Tôi đang làm việc với các biểu mẫu web asp.net, html5, css3 và jquery vì vậy muốn một số hình thức tiêu chuẩn để đặt tên các quy ước mà tôi có thể chia sẻ với các nhà phát triển khác.

+0

Bạn có tham chiếu đến ID HTML và tên lớp hoặc ID kiểm soát .NET không? – Stefan

+1

"Tôi đã thấy trong các nhà phát triển trong quá khứ đặt một tiền tố trước id của các yếu tố html của họ ví dụ như cho một phần tử div -> dvMyDiv" - Tôi ghét điều đó. Kết nối không cần thiết của tên lớp với loại phần tử được sử dụng. Trong HTML, bạn có thể thấy loại phần tử ngay tại đó. Trong CSS, nếu điều quan trọng là loại yếu tố đó thì hãy chọn phần tử quá, tức là 'div.MyDiv'. Nếu nó không quan trọng, đừng làm lộn xộn tên lớp với tiền tố chỉ vì bạn đang cố gắng áp dụng một ý tưởng có vẻ tốt trong C. (Xem phần "Tôi là Hungary" trong http: //www.joelonsoftware .com/articles/Wrong.html). –

+0

Mặt khác, * tiền tố lớp/ID có ý nghĩa có sử dụng trong trang web/ứng dụng cụ thể của bạn và được tài liệu và áp dụng nhất quán, đủ công bằng. –

Trả lời

2

Tôi đồng ý với tính nhất quán - nếu bạn đã có quy ước, thì hãy tuân theo quy ước đó.

Tuy nhiên, nếu bạn thực hiện một quy ước mới, loại ký hiệu Hungari này có thể là một ý tưởng thực sự tồi tệ vì nó hoàn toàn không có DRY. Ví dụ: tên của thẻ là <div> và sau đó tên của lớp của bạn một lần nữa nói rằng đó là một div. Nếu bạn thay đổi từ việc sử dụng <div> s thành <section> s, mã của bạn sẽ lỗi thời hoặc bạn cũng sẽ phải thay đổi tất cả tên lớp (có thể bằng HTML, CSS và JavaScript). Vì bạn có thể nhắm mục tiêu các lớp sử dụng mã như div.classname, nó hoàn toàn không có giá trị.

Ý tưởng tốt hơn là đặt tên mọi thứ sau loại nội dung mà chúng bao gồm. Ví dụ: trong blog, bạn có thể sử dụng HTML như sau:

<section class="posts"> 
    <article id="post-1" class="post"> 
    <h1>Post Title</h1> 
    <div class="post-content"> 
     <p>Blah blah blah</p> 
     <p>Blah blah blah</p> 
    </div> 
    <time class="timestamp">17th January 2012</time> 
    </article> 
    <article id="post-2" class="post"> 
    <h1>Post Title</h1> 
    <div class="post-content"> 
     <p>Blah blah blah</p> 
     <p>Blah blah blah</p> 
    </div> 
    <time class="timestamp">18th January 2012</time> 
    </article> 
</section> 
<aside class="top-posts block"></aside> 
<aside class="contact-form block"></aside> 
0

ĐƯỢC SỬA ĐỔI: Sau khi đọc bài viết trên Wiki nó xuất hiện rất nhiều nhà phát triển rất nổi tiếng và Microsoft không còn đề xuất Ký hiệu Hungary nữa.


Tôi được cho là tin rằng Hungarian notation là quy ước đặt tên rất phổ biến. Ngoài ra, tôi tin rằng đó là quy ước được đề nghị và sử dụng của Microsoft.

Tôi cho rằng điều quan trọng nhất là tính nhất quán. Bạn nên chọn một quy ước và gắn bó với nó.

+0

Xem phần "Tôi là Hungary" của http://www.joelonsoftware.com/articles/Wrong.html để có một cuộc thảo luận tốt về lịch sử, mục đích và lạm dụng Ký hiệu Hungary. –

1

Không có tiêu chuẩn nào bạn và đồng nghiệp của bạn nên quyết định định dạng nào bạn muốn sử dụng và gắn bó với nó. Điều tiền tố là loại ký hiệu Hungary. Nhưng tôi không thực sự thích nó. Chỉ cần đảm bảo tên rõ ràng và mô tả.