Geçmişte her zaman HTML'deki sınıf ve kimlik özelliklerini tanımlamak için alt çizgi kullandım . Son birkaç yılda, çoğunlukla kendimi toplumdaki trendle hizalamak için kesiklere geçtim, bana mantıklı geldiği için değil.
Her zaman tire işaretlerinin daha fazla dezavantajı olduğunu düşündüm ve faydalarını görmüyorum:
Kod tamamlama ve Düzenleme
Çoğu editör, tire işaretlerini sözcük ayırıcısı olarak görür, bu yüzden istediğim simgeye geçemiyorum. Sınıfın " featured-product
" olduğunu, " " otomatik olarak tamamlamam featured
, kısa çizgi girmem ve " " tamamlamam gerektiğini söyleyin product
.
Alt çizgilerle " featured_product
" tek bir sözcük olarak ele alınır, böylece bir adımda doldurulabilir.
Aynı şey belgede gezinmek için de geçerlidir. Kelimelere göre atlama ya da sınıf isimlerine çift tıklama tire işareti ile kesilir.
(Daha genel olarak, sınıfları ve kimlikleri jeton olarak düşünüyorum , bu yüzden bir jetonun tireler üzerinde kolayca bölünebilmesi bana mantıklı değil.)
Aritmetik operatör ile belirsizlik
Kısa çizgiler kullanmak , JavaScript'teki form öğelerine nesne özelliği erişimini keser . Bu yalnızca alt çizgi ile mümkündür:
form.first_name.value='Stormageddon';
(Kuşkusuz, form öğelerine kendim bu şekilde erişemiyorum, ancak evrensel bir kural olarak tire ve alt çizgi üzerinde karar verirken, birinin yapabileceğini düşünün.)
Sass gibi diller (özellikle Pusula çerçevesi boyunca ), değişken isimler için bile standart olarak tirelere yerleşmiştir. Başlangıçta da alt çizgi kullandılar. Bunun ayrıştırılması bana garip geldi:
$list-item-10
$list-item - 10
Diller arasında değişken adlandırma ile tutarsızlık
Eskiden underscored_names
PHP, ruby, HTML / CSS ve JavaScript değişkenleri için yazıyordum. Bu kullanışlı ve tutarlı, ama yine "kullanmak" için şimdi kullanıyorum:
dash-case
HTML / CSS'decamelCase
JavaScript'teunderscore_case
PHP ve Ruby'de
Bu beni çok fazla rahatsız etmiyor, ama bunların neden böylesine yanlış hizalandığını, görünüşte bilerek amaçlandığını merak ediyorum. En azından alt çizgilerle tutarlılığı korumak mümkün oldu:
var featured_product = $('#featured_product'); // instead of
var featuredProduct = $('#featured-product');
Farklılıklar , dizeleri gereksiz yere ve hata potansiyeli ile çevirmemiz gereken durumlar yaratır .
Öyleyse soruyorum: Topluluk neden neredeyse evrensel olarak çizgilere yerleşti ve alt çizgileri aşan nedenler var mı?
Orada bir olan ilgili soru başlattın zamanlarda arkasından, ama değil (veya bu görüşünde değilim olmamalıdır olmuştur) sadece zevk meselesi. Gerçekten sadece bir zevk meselesiyse neden hepimiz bu konvansiyona yerleştiğimizi anlamak istiyorum.