Không có cái nào cả.
Tôi sử dụng dấu gạch dưới mọi lúc, do dấu gạch nối làm rối cú pháp tô sáng cú pháp của trình soạn thảo văn bản của tôi (Gedit), nhưng đó là sở thích cá nhân.
Tôi đã thấy tất cả các quy ước được sử dụng ở khắp mọi nơi. Sử dụng cái mà bạn nghĩ là tốt nhất - cái nào đẹp nhất / dễ đọc nhất cho bạn, cũng như dễ gõ nhất vì bạn sẽ sử dụng nó rất nhiều. Ví dụ: nếu bạn đã có phím gạch dưới ở mặt dưới của bàn phím (không chắc, nhưng hoàn toàn có thể), thì hãy nhấn vào dấu gạch nối. Chỉ cần đi với những gì tốt nhất cho chính mình. Ngoài ra, cả 3 quy ước này đều dễ đọc. Nếu bạn đang làm việc trong một nhóm, hãy nhớ tuân thủ quy ước do nhóm chỉ định (nếu có).
Cập nhật 2012
Tôi đã thay đổi cách tôi lập trình theo thời gian. Bây giờ tôi sử dụng trường hợp lạc đà ( thisIsASelector
) thay vì dấu gạch ngang bây giờ; Tôi thấy cái sau khá xấu xí. Sử dụng bất cứ thứ gì bạn thích, có thể dễ dàng thay đổi theo thời gian.
Cập nhật 2013
Có vẻ như tôi muốn kết hợp mọi thứ hàng năm ... Sau khi chuyển sang Sublime Text và sử dụng Bootstrap một lúc, tôi đã quay trở lại dấu gạch ngang. Đối với tôi bây giờ chúng trông gọn gàng hơn nhiều so với un_der_scores hoặc camelCase. Cội nguồn của mình vẫn đứng mặc dù: có không phải là một tiêu chuẩn.
Cập nhật 2015
Một trường hợp góc thú vị với các quy ước ở đây là Rust . Tôi thực sự thích ngôn ngữ này, nhưng trình biên dịch sẽ cảnh báo bạn nếu bạn xác định công cụ sử dụng bất cứ thứ gì khác ngoài underscore_case
. Bạn có thể tắt cảnh báo, nhưng thật thú vị trình biên dịch gợi ý mạnh mẽ một quy ước theo mặc định. Tôi tưởng tượng trong các dự án lớn hơn, nó dẫn đến mã sạch hơn, điều đó không phải là điều xấu.
Cập nhật 2016 ( bạn đã yêu cầu)
Tôi đã áp dụng tiêu chuẩn BEM cho các dự án của mình trong tương lai. Các tên lớp cuối cùng khá dài dòng, nhưng tôi nghĩ rằng nó mang lại cấu trúc tốt và khả năng sử dụng lại cho các lớp và CSS đi cùng với chúng. Tôi cho rằng BEM thực sự là một tiêu chuẩn (vì vậy tôi có thể no
trở thành một người yes
có lẽ) nhưng nó vẫn phụ thuộc vào bạn những gì bạn quyết định sử dụng trong một dự án. Quan trọng nhất: phải phù hợp với những gì bạn chọn.
Cập nhật 2019 ( bạn đã yêu cầu)
Sau khi viết không có CSS trong một thời gian, tôi bắt đầu làm việc tại một nơi sử dụng OOCSS trong một trong những sản phẩm của họ. Cá nhân tôi thấy khá khó chịu khi các lớp xả rác ở mọi nơi, nhưng không phải lúc nào cũng phải nhảy giữa HTML và CSS.
Tôi vẫn ổn định trên BEM. Thật dài dòng, nhưng không gian tên làm việc với nó trong các thành phần React rất tự nhiên. Nó cũng tuyệt vời để chọn các yếu tố cụ thể khi kiểm tra trình duyệt.
OOCSS và BEM chỉ là một số tiêu chuẩn CSS hiện có. Chọn một thứ phù hợp với bạn - tất cả đều thỏa hiệp vì CSS không tốt lắm .
Cập nhật 2020
Một bản cập nhật nhàm chán trong năm nay. Tôi vẫn đang sử dụng BEM. Vị trí của tôi đã không thực sự thay đổi từ bản cập nhật 2019 vì những lý do được liệt kê ở trên. Sử dụng những gì phù hợp với bạn, chia tỷ lệ với kích thước nhóm của bạn và ẩn nhiều hoặc ít bộ tính năng kém của CSS như bạn muốn.