logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Cẩm nang chia sẻ kiến thức

Sep - 2020

15

Định dạng chuẩn và quy ước viết code trong HTML5

Cẩm nang chia sẻ kiến thức

Quy ước viết code của HTML

Các nhà lập trình web thường không thống nhất kiểu viết code và cú pháp khi sử dụng HTML. Vào thời gian từ năm 2000 đến 2010, nhiều lập trình viên đã chuyển cách viết từ HTML sang XHTML – ngôn ngữ đòi hỏi cú pháp được viết một cách đúng chuẩn nghiêm ngặt (well-formed).

HTML5 có cách thức viết tự do hơn, nên để trở thành một lập trình viên thông minh, bạn cần phải tự tạo cho mình thói quen viết code theo đúng chuẩn để người khác có thể dễ dàng hiểu và sử dụng code HTML của bạn.

Hơn thế nữa, trong tương lai, những bộ máy tìm kiếm và phân tích dạng như trình đọc XML có thể sẽ muốn đọc các trang HTML của bạn. Sử dụng cú pháp gần với chuẩn XHTML sẽ là một lựa chọn thông minh của các lập trình viên.

Hãy nhớ luôn giữ cho mã của bạn gọn gàng, sạch sẽ, và chính xác.

Sử dụng đúng DOCTYPE

Luôn luôn khai báo kiểu tài liệu DOCTYPE ở dòng đầu tiên trong đoạn code của bạn:

<!DOCTYPE html>

Nếu muốn có sự nhất quán với các thẻ bên dưới khác, bạn có thể sử dụng:

<!doctype html>

Viết thường cho tên các phần tử

HTML5 cho phép sử dụng kết hợp cả chữ hoa và chữ thường trong các tên phần tử.

Tuy nhiên bạn nên sử dụng tên phần tử chữ thường, bởi vì:

  • Kết hợp cả chữ hoa và chữ thường sẽ gây rối mắt.
  • Các lập trình viên hay sử dụng chữ viết thường (giống chuẩn XHTML).
  • Viết thường nhìn đoạn code sẽ rõ ràng hơn.
  • Viết thường sẽ nhanh và dễ dàng hơn.

Không nên:

<SECTION> 
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 </SECTION>
 <Section> 
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 </SECTION>

Nên:

<section>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 </section>

Luôn đóng tất cả các phần tử HTML

Trong HTML5, bạn không nhất thiết phải đóng tất cả các phần tử (ví dụ như phần tử <p>).

Nhưng khuyến nghị bạn nên sử dụng thẻ đóng sau khi kết thúc phần tử.

Không nên:

<section>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.
 <p>Quantrimang được cập nhật thường xuyên và liên tục.
 </section>

Nên:

<section>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 </section>

Đóng các phần tử HTML rỗng

Trong HTML5, phần tử rỗng có thể dùng thẻ đóng hoặc không.

Bạn có thể sử dụng một trong hai cách viết:

<meta charset="utf-8">
 <meta charset="utf-8" />

Tuy nhiên, dấu gạch chéo đóng (/) là bắt buộc phải có trong XHTML và XML.

Nếu muốn những phần mềm đọc XML có thể hiểu được trang của bạn, bạn nên sử dụng thẻ đóng sau khi kết thúc phần tử.

Viết thường cho tên các thuộc tính

HTML5 cho phép sử dụng cả chữ hoa và chữ thường với tên thuộc tính. Tuy nhiên bạn nên sử dụng chữ thường vì:

  • Sử dụng cả chữ hoa và chữ thường nhìn rất lộn xộn
  • Các lập trình viên thường sử dụng các tên viết thường (như trong XHTML)
  • Viết thường nhìn đoạn code sẽ rõ ràng hơn.
  • Viết thường sẽ nhanh và dễ dàng hơn.

Không nên:

<div CLASS="menu">

Nên:

<div class="menu">

Sử dụng nháy kép cho các giá trị thuộc tính

HTML5 cho phép các giá trị thuộc tính không cần dấu ngoặc kép. Tuy nhiên tốt hơn hết bạn nên cho thêm dấu ngoặc kép vì:

  • Giá trị trong dấu ngoặc sẽ dễ đọc và dễ phân biệt hơn.
  • Bạn cần sử dụng dấu nháy kép nếu giá trị chứa dấu cách.

Không nên:

<table class=striped>
 <table class=table striped>

Nên:

<table class="striped">

Thuộc tính hình ảnh

Luôn sử dụng thuộc tính alt với các ảnh chèn vào trang web. Đây là việc rất quan trọng khi hình ảnh chèn không hiển thị và cũng là cách để các máy tìm kiếm có thể dễ dàng tìm được nội dung ảnh bạn định nói gì.

Ngoài ra, luôn luôn khai báo chiều rộng và chiều cao hình ảnh. Nó sẽ làm trang web của bạn không bị nhấp nháy vì trình duyệt có thể dự trữ không gian cho hình ảnh trước khi tải.

Không nên:

<img src="html5.gif">

Nên:

<img src="html5.gif" alt="HTML5" style="width:128px;height:128px">

Khoảng trắng và dấu bằng

HTML5 cho phép dấu cách đặt ở hai đầu dấu bằng.

<link rel = "stylesheet" href = "styles.css">

Nhưng khi viết liền sẽ tạo cảm giác dễ đọc hơn.

<link rel="stylesheet" href="styles.css">

Tránh code dài trên một dòng

Khi bạn sử dụng một trình soạn thảo HTML, nếu có một dòng code quá dài bạn sẽ phải trượt thanh cuộn sang phải hoặc sang trái để có thể đọc hết dòng code đó.

Vì thế hãy cố gắng tránh các dòng mã dài hơn 80 ký tự.

Dòng trống và lùi đầu dòng

  • Không thêm các dòng trống mà không có lý do.
  • Để dễ đọc, thêm dòng trống để tách các đoạn dài hoặc phân cách hợp lý giữa các thẻ.
  • Nên lùi đầu dòng một khoảng nhưng không nên sử dụng phím tab.
  • Không thêm dòng trống hoặc dấu cách khi không cần thiết.

Cách dòng và thụt lề như ví dụ dưới đây là không cần thiết:

 <body>
 
 <h1>Chuyện Công nghệ</h1>
 
 <h2>Giá Bitcoin hạ kịch sàn, thấp nhất trong năm</h2>
 
 <p>
 Tờ CNBC đưa tin đồng tiền ảo này giảm khoảng 9%,
 xuống còn $5.640,36 và còn chưa có dấu hiệu dừng lại.
 Tại thời điểm viết bài này, giá chỉ còn $5.307,52.
 Đây là lần đầu tiên giá bitcoin giảm xuống dưới $6.000
 từ khi nhận cú giáng kỉ lục hồi tháng 12 năm ngoái.
 </p>
 
 </body>

Nên viết như sau:

<body>
 
 <h1>Chuyện Công nghệ</h1>
 
 <h2>Giá Bitcoin hạ kịch sàn, thấp nhất trong năm/h2>
 <p>Tờ CNBC đưa tin đồng tiền ảo này giảm khoảng 9%,
 xuống còn $5.640,36 và còn chưa có dấu hiệu dừng lại.
 Tại thời điểm viết bài này, giá chỉ còn $5.307,52.
 Đây là lần đầu tiên giá bitcoin giảm xuống dưới $6.000
 từ khi nhận cú giáng kỉ lục hồi tháng 12 năm ngoái.</p>
 
 </body>

Ví dụ về bảng:

<table>
 <tr>
   <th>Tên chuyên mục</th>
   <th>Giới thiệu</th>
 </tr>
 <tr>
   <td>Công nghệ</td>
 <td>Giới thiệu</td>
 </tr>
 <tr>
 <td>Khoa học</td>
 <td>Giới thiệu</td>
 </tr>
 </table>

Vi dụ về danh sách:

<ol>
   <li>Làng Công nghệ</li>
   <li>Khoa học</li>
   <li>Cuộc sống</li>
 </ol>

Thiếu thẻ <html> và <body>

Trong HTML5, thẻ <html> và thẻ <body> có thể bị bỏ qua.

Đoạn code dưới đây vẫn hoàn toàn hợp lệ

<!DOCTYPE html>
 <head>
 <title>Quantrimang</title>
 </head>
 
 <h1>Giới thiệu Quantrimang</h1>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>

Tuy nhiên, bạn không nên bỏ thẻ <html> và thẻ <body>.

Phần tử <html> là khung của trang. Trong đó bạn có thể khai báo ngôn ngữ mà bạn đang dùng trong trang:

<!DOCTYPE html>
 <html lang="vi-VN">

Việc khai báo một ngôn ngữ rất quan trọng đối với các công cụ tìm kiếm và các ứng dụng khi truy cập trang web của bạn.

Việc bỏ qua <html> hoặc <body> có thể làm hỏng DOM và phần mềm XML, có thể lỗi khi hiển thị trên trình duyệt cũ hơn (IE9).

Thiếu thẻ <head>

Trong chuẩn HTML5, thẻ <head> cũng có thể bị bỏ qua.

Theo mặc định, trình duyệt sẽ tự động thêm thẻ<head> trước thẻ <body>.

Bạn có thể giảm độ phức tạp của HTML, bằng cách bỏ qua thẻ <head>:

Ví dụ:

<!DOCTYPE html>
 <html>
 <title>Quantrimang</title>
 
 <body>
 <h1>Giới thiệu Quantrimang</h1>
 <p>Quantrimang được cập nhật thường xuyên và liên tục.</p>
 </body>
 
 </html>

Tuy nhiên, tốt hơn hết bạn không nên bỏ qua thẻ <head>. Việc bỏ bớt các thẻ dường như không quen thuộc với các lập trình viên.

Thẻ <title>

Phần tử <title> là bắt buộc phải có trong HTML5. Bạn hãy đặt tên tiêu đề càng ý nghĩa càng tốt.

<title>Định dạng chuẩn và quy ước viết code trong HTML5</title>

Để đảm bảo giải thích chính xác và đúng chỉ mục với các công cụ tìm kiếm khi muốn tìm trang web của bạn, hãy thiết lập ngôn ngữ và các kí tự mã hóa mà trang sử dụng ở ngay những dòng đầu tiên:

<!DOCTYPE html>
 <html lang="vi-VN">
 <head>
 <meta charset="UTF-8">
 <title>Định dạng chuẩn và quy ước mã hóa trong HTML5</title>
 </head>

Cài đặt chế độ xem

HTML5 đã giới thiệu một phương pháp giúp cho các nhà thiết kế web kiểm soát chế độ xem thông qua thẻ <meta>.

Chế độ xem là khu vực hiển thị với người dùng trên trang web. Nó thay đổi tùy theo thiết bị, sẽ nhỏ hơn trên điện thoại di động và to hơn trên màn hình máy tính.

Phần tử <meta> viewport hướng dẫn cho trình duyệt cách kiểm soát kích thước và tỷ lệ của trang. Vì vậy, bạn nên sử dụng

phần tử <meta> viewport trong tất cả các trang web của mình:

<!DOCTYPE html>
 <html lang=”vi-VN”>
 <head>
 <meta charset=”UTF-8″>
 <title>Định dạng chuẩn và quy ước mã hóa trong HTML5</title>
 </head>

Các chú thích trong HTML

Comment ngắn nên được viết trên một dòng, như sau:

<!-- Phần giới thiệu về Quantrimang -->

Comment dài nhiều dòng nên được viết như sau:

<!--
 Phần giới thiệu về Quantrimang. Phần giới thiệu về Quantrimang.
 Phần giới thiệu về Quantrimang. Phần giới thiệu về Quantrimang.
 -->

Những chú thích dài sẽ dễ nhìn hơn nếu bạn lùi đầu dòng bằng hai dấu cách.

Style Sheets

Bạn có thể sử dụng các cú pháp đơn giản để liên kết với CSS (không cần thiết phải sử dụng thuộc tính type):

<link rel="stylesheet" href="styles.css">

Các đoạn code ngắn có thể được viết lại trên một dòng, như sau:

p.intro {font-family: Verdana; font-size: 16em;}

Các đoạn code dài viết trên nhiều dòng, như sau:

body {
 background-color: lightgrey;
 font-family: "Arial Black", Helvetica, sans-serif;
 font-size: 16em;
 color: black;
 }
  • Đặt dấu mở ngoặc trên cùng dòng với thẻ cần trang trí.
  • Sử dụng một dấu cách trước dấu ngoặc mở.
  • Sử dụng 2 dấu cách để lùi đầu dòng các thuộc tính bên trong.
  • Sử dụng dấu chấm phẩy sau mỗi cặp “thuộc tính/giá trị”.
  • Chỉ sử dụng dấu ngoặc cho giá trị nếu trong giá trị có chứa dấu cách.
  • Đặt dấu đóng ngoặc ở một dòng riêng biệt, phía trước không có dấu cách.
  • Không nên sử dụng quá 80 ký tự trên cùng một dòng.

Liên kết JavaScript trong HTML

Bạn có thể sử dụng các cú pháp đơn giản để liên kết với JavaScript (không cần thiết phải sử dụng thuộc tính type):

<script src="myscript.js">

Truy cập các thành phần HTML bằng JavaScript

Hậu quả của việc sử dụng các kiểu HTML không đúng chuẩn có thể dẫn đến lỗi JavaScript.

Hai câu lệnh JavaScript này sẽ tạo ra các kết quả khác nhau:

var obj = getElementById("Demo")
 var obj = getElementById("demo")

Ví dụ:

<!DOCTYPE html>
 <html>
 <body>
 
 <p id="Demo">This is paragraph 1.</p>
 <p id="demo">This is paragraph 2.</p>
 
 <script>
 // Only paragraph 2 will be overwritten
 document.getElementById("demo").innerHTML = "HELLO.";
 </script>
 
 </body>
 </html>

Nếu có thể, hãy sử dụng các quy ước đặt tên giống nhau (như JavaScript) trong HTML.

Viết thường tên thư mục

Một số máy chủ web (Apache, Unix) phân biệt chữ hoa chữ thường với tên tập tin: “london.jpg” không thể truy cập là “London.jpg”.

Nhưng có những máy chủ web (Microsoft, IIS) không phân biệt chữ hoa và chữ thường: london.jpg có thể truy cập bằng tên London.jpg hoặc london.jpg.

Vì vậy, nếu bạn sử dụng kết hợp giữa chữ hoa và chữ thường, bạn phải cực kỳ nhất quán để tránh xảy ra lỗi khi chuyển máy chủ.

Để tránh dẫn tới những lỗi này, hãy luôn sử dụng chữ thường cho tên tệp tin.

Phần mở rộng của tệp tin

  • Các tệp tin HTML nên có phần mở rộng là .html (hoặc .htm).
  • Các tệp tin CSS nên có phần mở rộng là .css
  • Các tệp tin JavaScript nên có phần mở rộng là .js

Sự khác nhau giữa .htm và .html

Không có sự khác biệt nào giữa hai phần mở rộng .htm và .html. Cả hai sẽ được coi là HTML khi làm việc với bất kỳ trình duyệt và máy chủ nào.

  • .htm: của các hệ điều hành DOS ban đầu, nơi hệ thống giới hạn phần mở rộng là 3 ký tự.
  • .html: của hệ điều hành Unix, không có giới hạn này.

Sự khác biệt về kỹ thuật

Khi URL không chỉ định tên tệp (như https://www.quantrimang.com/html/), máy chủ sẽ tự động trả về tên tệp mặc định. Tệp tin mặc định phổ biến là index.html, index.htm, default.html và default.htm.

Nếu website của bạn đã được cấu hình tên tệp tin mặc định là “index.html”, bạn phải đặt tên tệp tin là “index.html”, không được đặt là “index.htm.” Tuy nhiên, máy chủ có thể được cấu hình với nhiều tệp tin mặc định, và thông thường bạn có thể thiết lập nhiều tập tin mặc định nếu cần.

Dù sao, phần mở rộng đầy đủ cho các tập tin HTML là .html, và không có lý do gì mà bạn không sử dụng tên này.

Tạm vậy thôi. Hãy trở thành một lập trình viên thông minh bằng cách thức viết code gọn gàng, sạch sẽ và đúng chuẩn định dạng như này nhé.

Chúc bạn thành công!

Devmaster Academy via quantrimang

Các bài viết cùng chủ đề

BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI ❤
BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI...
5 Phương pháp hay để mở rộng các dự án React của bạn một cách dễ dàng
5 Phương pháp hay để mở rộng các dự án React của b...
Lab06.1 - Data Access In ASPNET MVC 5
Lab06.1 - Data Access In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET M...
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hành
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hàn...
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015