Kodlama Dillerinin Uygunsuz Kullanımları
Veritabanı içerik içindir- HTML içeriğin tanımlanması ve görüntülenmesi içindir
- CSS tasarım içindir
- JavaScript işlevsellik içindir.
Yukarıda belirtilenler, ilgili teknolojilerin doğru kullanım şekillerini içermektedir. Eğer sınırları aşar ve bir teknolojiyi başka bir teknolojiye ait olan bir kullanım alanı için kullanırsanız, o zaman sunulan teknolojiyi yanlış kullanmış olursunuz. CSSTricks yazarı Chris Coyier‘den farklı kodlama dillerinin sık karşılaşılan yanlış kullanım örneklerine yönelik yazdığı makaleyi sizlerle paylaşmak istiyoruz.
Uygunsuz Veritabanı Kullanımı
Eğer bir blog makalesinin başlığını aşağıdaki şekilde veritabanına işlerseniz bu yanşlış olur.
<h1>Tatile çıkarken yanınıza almamanız gereken 10 eşya</h1>
HTML etiketini başlık ile birlikte veritabanı üzerinde depolamak yanlıştır. En başında size daha sonraki zamanlarda esneklik sağlamayacağı gibi, HTML etiketlerinin içeriğin kendisi ile hiçbir alıp vereceği yoktur. Peki ya eğer gerçekten sitenizde farklı başlıkların farklı HTML etiketlerine sahip olmasını istiyorsanız ne yapmalısınız? O zaman farklı bir veritabanı alanı üzerinde sadece o HTML etiketini depolayın, ya da daha iyisi o farklı olanı kullanarak o başlığın önemini belirtecek sembolik bir tanımlama belirleyin.
Uygunsuz HTML kullanımı
İnsanlar genellikle “HTML içerik içindir” derler, ki aslında bu kısmen doğrudur. Evet, içeriğimiz eninde sonunda HTML olarak son kullanıcıya oluşur ancak bir HTML kodcusu tarafından yazılan kodlama, içeriğin kendisinin sadece küçük bir kısmını içerir. HTML kodu özünde içeriği açıklayan yapısal elementleri içermelidir ve tüm o yapının içerisinde, kodu saran açıklayıcı etiketler dinamik olarak içeriği almalıdır.
HTML’nin yanlış kullanımlarından birisi de aşağıdaki şekildedir:
<div class="yazi-ayiricisi"></div>
Muhtemelen yukarıdaki kodun görsel sebeplerle eklenmiş olma ihtimali çok yüksektir. Bu kodun yerine yapılması gereken şey, yukarıdaki kod yazılmadan doğrudan CSS kullanarak stil tanımlamalarımızı yapmalıyız.
Uygunsuz HTML kodu yazımına, başka hiçbir açıklama gerektirmeyen bir diğer örnek ise aşağıda:
<p style="border: 1px solid red; padding: 10px;">Uyarı: Bunu hiçbir zaman yapmamalısınız.</p>
Uygunsuz CSS kullanımı
CSS‘yi uygunsuz kullanmak diğer dillere oranla daha zordur. Kötü CSS yazmak kolaydır ancak CSS’nin kötü yazılması, ilgili teknolojinin kötüye kullanıldığı anlamına gelmez. Örneğin RGBa’yı ele alalım. RGBa, tanımladığınız renklerin alpha (saydamlık) oranlarını belirlemenizi sağlamaktadır. Ardından üzerinde siyah renkli metin bulunan bir kutunun arkaplan rengini siyahın açık bir tonu olacak şekilde belirlersiniz. İlk olarak tüm tarayıcılar RGBa’yı desteklememektedir ve desteklemeyen tarayıcılarda siyah renkli bir kutu üzerinde siyah renkli metin olacağından ziyaretçileriniz ilgili kutu üzerindeki metni okuyamayacaklardır. Bu her ne kadar önemli bir hata olsa da, teknolojinin yanlış kullanıldığı anlamına gelmez.
CSS’yi uygunsuz kullanmak her ne kadar zor olsa da imkansız değildir. Örneğin CSS, HTML içerisine bir içerik gömmenize izin vermektedir. Her ne kadar bu yöntemin birkaç ilgi çekici yöntemi bulunuyor olsa da, potansiyel olarak yanlış kullanımı mümkündür. Örneğin:
#footer:after { content: "Copyright 2009 Kötü Fikir Polisi"; }
JavaScript’in Uygunsuz Kullanımı
JavaScript‘te komik olan şey eğer bir şey diğer bir dilde yapılabiliyorsa, o zaman o şey mümkünse o dilde yapılmalıdır.
Örneğin, CSS tamamıyla fare imleci bir elementin üzerine getirildiğinde gerçekleşmesini istediğiniz tasarımsal değişikliklerin tamamını işleyebilecek düzeydedir. Örneğin fare imlecini bir elementin üzerine getirdiğinizde bir görselin değişmesi gibi. CSS sprites ile burada istediğimizi gerçekleştirebiliriz.
Bir diğer örnek olarak form doğrulamasını gösterebiliriz. Bir forma JavaScript kullanarak muhteşem doğrulama efektleri ekleyebilirsiniz, ki bu tip kullanımlar son derecede kullanışlıdır. Ancak en iyisi o formu bir de sunucu taraflı olarak doğrulatmak isteyebilirsiniz, en azından güvenlik açısından bunu göz önünde bulundurmanız gerekmektedir.
Yazının en başında da dediğimiz gibi JavaScript işlevsellik için kullanılmalıdır. Bu doğru. Eğer sayfanızın bir şey “yapmasını” istiyorsanız ve örneğin sayfanızdaki bir elementin yüklenmesi tamamlandığında onun etkileşimli olmasını istiyorsanız, bu genellikle JavaScript’in ilgi alanına girer. Ancak JavaScript’in tek yaptığı şey bu değildir. JavaScript çok güçldür. Sayfanıza CSS ya da HTML ekleyebilir, onu değiştirebilir, ya da sayfadan kaldırabilirsiniz. (Tüm bunlar DOM aracılığı ile yapılır). JavaScript bilgisayarınız ile konuşabilir ve ondan cevap alabilir. AJAX teknikleri ile de sunucunuz ile konuşabilir ve ondan cevap alabilir.
JavaScript’in potensiyel yanlış kullanım ihtimali çok yüksektir, ancak bunun sınırları net değildir. Örneğin, yukarıda verdiğimiz yanlış HTML kullanım örneklerinde sırf tasarım amaçlı kullandığımız HTML etiketinden kurtulmak istiyorduk. Bunun yerine mesela o DIV etiketini JavaScript kullanarak sayfaya ekleyebiliriz. Bu durumda HTML için problem çözülmüş olabilir ancak bunun sonucunda da bu sefer JavaScript HTML’nizi kontrol etmeye başlamış olur. Her ne kadar yukarıda bahsettiğimiz dört elementin sınırlarının aşılması tuhaf hissettirse de bu JavaScript’in doğru kullanımı anlamına gelir. Sonra diyelim bu DIV’i sayfaya eklerken, onun kırmızı renkte belirmesini istediğinizi varsayalım, o zaman yine JavaScript kullanarak onu CSS’ye dahil edebilir ve bu sayede onu kırmızı yapabiliriz. Ancak bu JavaScript’in yanlış kullanımı olur zira bu işlem doğrudan CSS kullanılarak yapılabilir. Kulağa garip geliyor ancak burada netleştirmek istediğim, eğer bir işlemi başka bir dil kullanarak yapabiliyorsanız, o zaman o işlemi o dili kullanarak yapmalısınız.
Sadece Mükemmel Bir Dünyada
Burada yazdıklarımız sadece laf kalabalığı değil aslında, burada bahsedilenler günümüzde endüstri liderlerinin konuştukları şeyler. Burada adı geçen standartlar geliştirildi çünkü yönetimi kolay, daha erişilebilir ve daha semantik web siteleri oluşturmak daima hedeflediğimiz şey olmalıdır.
Buna rağmen, bazen bu kuralların geçersiz olduğunu da itiraf etmek zorundayız. Ne olursa olsun sonunda hepimiz birer insanız ve sadece öğrendiğimiz şeyleri biliriz ve sadece bir gün içerisinde sınırlı bir zamanımız var. Eğer bazen işinizi halletmek için bir kuralı yıkmanız gerekiyorsa, sorun değil, yıkın. Ancak kuralı yıktığınızı “biliyor” olmanız önemli burada. Yaptığımız tüm bu hatalar, bir sonraki kodlama çalışmamızda daha iyisine ulaşmamızı sağlayacaktır.
Etiketler: CSS, HTML, Javascript, Kodlama, Semantikler











Yorum yazın!