مقدمه
بسیاری از افراد CSS، HTML و JavaScript را با مشاهدهی کد صفحههای مختلف و copy/paste کردن آنها آموختهاند حال آنکه سایت اصلی ممکن است به درستی این کدها را به کار نبرده باشد. این یعنی افراد شیوههای کدزنی که در گذشته لازم اما امروزه از کار افتاده حساب میشوند را برای خود نهادینه کردهاند. این صفحه سعی در ارایهی فهرستی از این شیوههای کد زنی که به اصطلاح به آنها bad practices گفته میشود، دارد.
نوع سند
نزدیک به ۱۰، نوع سند HTML یا XHTML وجود دارد که تفاوتهای بسیار جزیی با یکدیگر دارند که در پارهای از مواقع قابل مقایسه نیستند. توصیه میشود که شما از نوع سند HTML5 استفاده کنید:
<!DOCTYPE html>
که باعث میشود حالت استانداردی در تمامی مرورگرها (حتی اینترنت اکسپلورر ۶) به وجود آید.
عنصر <meta> و صفت charset
جستجوی کد صفحه با استفاده از قطعه کد زیر یک روش معمول است:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
اگرچه تمامی مرورگرها (از جمله اینترنت اکسپلورر ۶) به یک صورت عمل میکنند اگر کد بالا را به صورت زیر بنویسیم:
<meta charset="UTF-8" />
این دانش با استفاده از مهندسی معکوس و آزمایشهای عملی به دست آمده است، پس از آن استفاده کنید.
توضیحات HTML در اسکریپتها
زمانی بود که بعضی مرورگرها برچسب <script>
را تشخیص میدادند و بعضی خیر که این امر منجر به تفسیر خطوط اسکریپت به عنوان متن خام میشد. ایدهی طبیعی این بود که اسکریپتها را به عنوان توضیحات در HTML قرار دهند که این روش باعث میشد مرورگرهایی که اسکریپت را اجرا میکنند به کار خود ادامه داده و آنهایی که برچسب اسکریپت را متوجه نمیشوند محتویاتش را در نظر نگیرند.
در این دوره بود که ما از چیزهایی استفاده میکردیم شبیه به:
<script> <!-- var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "bla.com/ga.js' type='text/javascript'%3E%3C/script%3E")); //--> </script>
یا:
<script type="text/javascript"> <!--//--><![CDATA[//><!-- Blabla.extend(MyFramework.settings, { "basePath": "/" }); //--><!]]> </script>
تمامی اینها امروزه به درد نخور هستند - حتی مرورگرهایی که اسکریپت را اجرا نمیکنند به سادگی برچسب <script>
را نادیده میگیرند. اسکریپتهای خود را فقط بین برچسب آغازین و پایانی <script>
بنویسید. بهتر آن است که اسکریپت خود را به عنوان یک فایل جداگانه با صفت src
در نظر گرفته؛ همچنین میتوانید صفتهای async
و defer
موجود در HTML5 را در نظر بگیرید.
عنصرهایی که از این پس نباید استفاده شوند
font
برچسب font دیگر نباید استفاده شود. CSS برای کنترل نحوهی نمایش عنصرها، که با برچسب ID یا Class مشخص میشوند، ترجیح داده میشود.
b, i, u
اینها عنصرهای بحثبرانگیزی هستند بنابراین سعی کنید از <strong>
، <em>
یا <span>
و (text-decoration:underline
) در CSS استفاده کنید.
در مورد کاربرد این عنصرها با احتیاط برخورد کنید. بعضی توصیه میکنند که <b>
را با <strong>
و <i>
را با <em>
به سادگی جایگزین کنید در حالی که این یک توصیهی بد است. <strong>
برای عبارتی که تاکید بسیار لازم دارد مورد نیاز است اما <em>
برای تاکید کمتر است. برای نمونه، ایدهی بدی است که از <em>
برای ایجاد متن کج استفاده شود؛ متنی که قصد داریم کج نشان دهیم با استفاده از font-style:italic
در CSS قابل دسترس است. به همین صورت، عنوان کتابها یا آثار هنری سابق بر این با استفاده از متن کج به وجود میآمدند، اما استفاده از عنصر <cite>
برای این گونه موارد منجر به تولید کدی معنایی نسبت به <em>
یا <i>
میشود.