Giáo trình nghề Thiết kế trang Web - Môđun: Khắc phục lỗi và Debug Website

BỘ NÔNG NGHIỆP VÀ PHÁT TRIỂN NÔNG THÔN  
TRƯỜNG CAO ĐẲNG CƠ ĐIỆN NỘI  
GIÁO TRÌNH  
KHẮC PHỤC LỖI VÀ DEBUG WEBSITE  
NGHỀ: THIẾT KẾ TRANG WEB  
Nội, năm 2020  
1
2
BÀI 1: TỔNG QUAN VỀ DEBUG  
Khái niệm chung về bug và debug  
Việc lập trình 1 website luôn gắn liền với debug và fixbug thì mới hoàn thành được việc thiết  
kế website hoàn chỉnh. Debug là một kĩ năng nền tảng của lập trình viên. Mục đích của debug  
để loại bỏ lỗi (error) khỏi chương trình, còn giúp lập trình viên hiểu hơn về việc thực thi  
chương trình. Một lập trình viên không có khả năng debug hiệu quả thì cũng giống như bị mù  
vậy.  
Trên thực thế các lập trình viên dùng nhiều thời gian để gỡ lỗi hơn việc code mới, tạo ra  
chức năng mới. Fix bug là quá trình sau khi debug, sau khi tìm ra lỗi của chương trình thì tiến  
hành sửa lỗi chính là fixbug. Hai kỹ thuật debug và fixbug trong thiết kế website khá quan  
trọng với 1 lập trình viên.  
Bug là gì?  
- Bug trong tiếng anh là bọ, bọ ở đây là ám chỉ các lỗi xảy ra trong logic, hay bất kỳ vấn đề  
gì gây ra việc làm cho ứng dụng không thực thi được hoặc thực thi sai.  
- Bug luôn tiềm ẩn ở mọi nơi, và ta không thể lường trước được mọi tình huống thể xảy  
ra mà chỉ thể cố gắng làm giảm đến mức thấp nhất thể tùy vào khả năng của ta tại  
thời điểm phát triển bảo trì ứng dụng.  
- Cụ thể trong website, bug là những lỗi về mặt giao diện, tính năng hoạt động sai hoặc  
không như mong muốn của lập trình viên.  
Bug gây ra những ảnh hưởng xấu đến trang web  
3
Debug là gì?  
- Debug là quá trình tìm kiếm ra lỗi hay nguyên nhân gây ra lỗi (bug ở đâu) để hướng  
sửa lỗi (fix bug). Việc kiểm soát lỗi của rất nhiều các dòng code là việc không hề đơn giản  
với những người lập trình viên chưa nhiều kinh nghiệm.  
- Chuyện xảy ra lỗi trong hàng nghìn dòng lệnh đó chuyện bình thường đối với bất cứ 1  
người làm lập trình nào. Chương trình có thể chạy không đúng ý người lập trình, hoặc chạy  
sai chức năng được quy định, gây cho chương trình bị đánh giá kém chất lượng. Vậy  
khi bị lỗi thì các lập trình viên phải debug để fix lỗi giúp cho chương trình (program) chạy  
tốt, đúng yêu cầu, mong muốn.  
- Mục đích của Debug không chỉ để loại bỏ lỗi (error) khỏi chương trình mà quan trọng  
hơn còn để giúp lập trình viên hiểu hơn sự thực thi của chương trình.  
Debug cũng giúp lập trình viên cải thiện trình độ  
Các phương pháp debug  
Kĩ năng debug và fixbug trong thiết kế website phần lớn đến từ kinh nghiệm, thể là kinh  
nghiệm cả chính bản thân, có thể được chia sẻ từ người khác. Hoặc đó cũng một loại  
năng khiếu bẩm sinh, năng khiếu sử lỗi, tức là sinh ra đã rồi, thời gian sử lý bug thường  
rất nhanh và hầu như không gặp một chút khó khăn cả.  
4
Tuy nhiên, cả hai con đường, hoặc đến từ kinh nghiệm rèn luyện, hay từ bẩm sinh đi nữa, đều  
những đặc điểm chung.  
Debugging Tool – dùng công cụ để Debug – là phương pháp Debug đi sâu vào source code  
nhất. Thường thì chúng ta gọi những Debugging Tool này là Debugger.  
Sử dụng công cụ để debug  
Printlining: đơn giản bạn thêm vào source code của bạn những dòng lệnh để in ra  
những thông tin mà bạn cần theo dõi trong quá trình thực thi.  
Debug sử dụng phương pháp printlining  
Logging: tạo ra một biểu mẫu để ghi (log) lại những thông tin sau khi chương trình  
thực thi. Phân tích nguyên nhân lỗi dựa trên những thông tin này.  
5
Biểu mẫu ghi lại thông tin thực thi  
3. Các công cụ debug  
Để Debug hiệu quả ngoài trình độ của lập trình viên thì bạn cũng cần đến sự hỗ trợ của các  
công cụ chuyên nghiệp. Dưới đây một số công cụ hữu ích:  
Công cụ Debugging Tool  
Công cụ Debugging Tool hay còn gọi là Debugger, được dùng để hỗ trợ Debug chuyên sâu.  
Nó giúp lập trình viên đi sâu vào các source code.  
Thông thường các Debugger thường sử dụng các phần mềm như GNU Debugger, Microsoft  
Visual Studio Debugger. Chúng được thiết kế dựa theo nền tảng của hệ thống nhúng gọi là  
Embedded System, Tuy nhiên các thiết kế nhúng không mang mục đích chính, nó chỉ được  
dùng làm các platform riêng với mục đích đơn lẻ nhưng lại đòi hỏi các yếu tố đặc thù.  
Công cụ Print Lining  
Công cụ này được sử dụng khá phổ biến bởi cách dùng của rất đơn giản. Bạn chỉ việc thêm  
Print Lining vào dòng lệnh trong quá trình thực thi thông tin.  
dụ như bạn sử dụng công cụ này thì khi dùng Arduino IDE sẽ không xuất hiện Debugger.  
Trong đó cách Debug có hiệu quả cao và phù hợp với công cụ này nhất là Serial.print.  
6
Công cụ Logging  
Công cụ Logging có khả năng tạo ra các biểu mẫu. được dùng để lưu lại các thông tin sau  
khi chương trình hoạt động. Nhờ có công cụ này, lập trình viên có thể tìm, phân tích nguyên  
nhân gây ra lỗi để từ đó chọn phương pháp khắc phục phù hợp.  
một lập trình viên việc nắm rõ Debug là gì và cách tìm, khắc phục nó ra sao là điều rất cần  
thiết. Tuy nhiên, nếu bạn là “tay mơ” thì nên tìm đến các chuyên gia để được hỗ trợ hướng  
dẫn một cách cụ thể.  
7
BÀI 2: DEBUG JAVASCRIPT  
1. Các công cụ debug JavaScript  
Công cụ dành cho nhà phát triển trên các trình duyệt  
Công cụ dành cho nhà phát triển Chrome  
Các công cụ dành cho nhà phát triển Chrome là một cách nhanh chóng để gỡ lỗi mã  
JavaScript của bạn. Bạn thể mở Công cụ Dev cho tab Bảng điều khiển bằng cách sử dụng  
các phím tắt sau:  
macOS: `CMD` +` OPT` + `I`  
Windows: `CTRL` +` SHIFT` + `I`  
Giao diện công cụ Chrome Dev Tools  
Công cụ dành cho nhà phát triển Chrome là một trong những công cụ tốt nhất trong ngành  
nhiều nhà phát triển tin tưởng các công cụ này cho nhu cầu gỡ lỗi hàng ngày của họ.  
Công cụ dành cho nhà phát triển Chrome bao gồm bảng điều khiển JavaScript tiêu chuẩn,  
cũng như các công cụ cho các tính năng bảo mật và giám sát hiệu suất mạng. Phần lớn  
gỡ lỗi JavaScript diễn ra trong Bảng điều khiển và các tab hoạt động Mạng.  
Công cụ dành cho nhà phát triển Firefox  
Người dùng Firefox trước đây đã dựa vào Fireorms, một tiện ích mở rộng cung cấp cho  
người dùng Firefox một bộ công cụ dành cho nhà phát triển cạnh tranh. Các công cụ dành  
cho nhà phát triển Firefox có trong các phiên bản Firefox mới nhất đã hấp thụ chức năng  
của Fireorms. Điều này đưa trình duyệt Firefox và bộ công cụ tích hợp của nó ngang hàng  
với Google Chrome.  
8
Giao diện công cụ dành cho nhà phát triển firefox  
Để tìm Công cụ dành cho nhà phát triển Firefox, hãy xem trong menu Công cụ trong Web  
Developer. Ở đó, bạn sẽ tìm thấy bảng điều khiển JavaScript và nhiều mục hữu ích khác.  
Công cụ dành nhà phát triển Safari  
Người dùng Safari phải kích hoạt Menu Safari Develop để quyền truy cập vào các công  
cụ dành cho nhà phát triển tích hợp của Safari.  
Chuyển đến tab Safari và chọn Tùy chọn.  
Chọn nâng cao.  
Kích hoạt tùy chọn có tiêu đề Hiển thị menu Phát triển trong thanh menu.  
Công cụ Safari Dev  
Khi bạn đã làm theo các bước trên, menu Develop sẽ xuất hiện trên thanh công cụ. Trong  
menu Phát triển, có các tùy chọn để hiển thị Bảng điều khiển JavaScript, trình gỡ lỗi, trình  
giám sát lưu lượng mạng và trình kiểm tra các phần tử trang. Công cụ Safari Dev là một  
trong những công cụ tốt nhất và có thể so sánh với các công cụ gỡ lỗi JavaScript do Chrome  
cung cấp. Bạn thể thấy xu hướng cải tiến giữa các công cụ dành cho nhà phát triển từ tất  
cả các trình duyệt, khi chúng ngày càng có khả năng đáp ứng nhu cầu của các nhà phát triển.  
9
Debugger Tool  
Nhóm công cụ dành cho nhà phát triển Firefox duy trì một công cụ độc lập được gọi đơn  
giản là “Debugger” mà bạn thể sử dụng để gỡ lỗi trong Firefox hoặc Chrome và bạn có  
thể chuyển đổi giữa chúng nếu cần để đảm bảo rằng ứng dụng của bạn đang hoạt động chính  
xác trên cả hai. Nếu bạn sẵn sàng thiết lập ứng dụng nút này chỉ với một vài bước đơn giản,  
bạn thể sử dụng nó thay cho việc sử dụng các công cụ trong trình duyệt trong cả hai trình  
duyệt và có được trải nghiệm chính xác giống nhau và so sánh giống hệt nhau ở cả hai.  
Giao diện công cụ Debugger  
Postman để debug request (yêu cầu) và response (phản hồi)  
Một số lượng phát triển JavaScript không hề nhỏ xoay quanh việc gửi yêu cầu đến các API  
nhận phản hồi. Các yêu cầu phản hồi này thường ở định dạng JSON. Ứng dụng của  
bạn thể cần thực hiện các yêu cầu API vì vô số lý do, chẳng hạn như tương tác với máy  
chủ xác thực, tìm nạp lịch hoặc nguồn cấp tin tức, kiểm tra thời tiết và vô số những lý do  
khác.  
10  
Giao diện Postman  
Postman là một trong những công cụ gỡ lỗi JavaScript tốt nhất để gỡ rối các yêu cầu phản  
hồi trong ứng dụng của bạn. Postman cung cấp phần mềm cho Windows, macOS và Linux.  
Với Postman, bạn thể tinh chỉnh yêu cầu, phân tích phản hồi, gỡ lỗi sự cố. Trong phần  
mềm, bạn thể điều chỉnh các giao dịch sạch mà sau đó bạn thể sao chép trong ứng dụng  
của mình.  
Ngoài ra, Postman có một tính năng gọi Bộ sưu tập. Bộ sưu tập cho phép bạn lưu các nhóm  
yêu cầu phản hồi cho ứng dụng của bạn hoặc cho một API. Bạn tiết kiệm thời gian quý  
báu khi cộng tác với những người khác hoặc lặp lại các nhiệm vụ thử nghiệm giống nhau.  
Khi sử dụng bộ sưu tập Postman, bạn cập nhật bộ sưu tập nếu cần và sau đó sử dụng nó. Điều  
này nhanh hơn nhiều so với việc viết ra nhiều lần trong mỗi bài kiểm tra.  
JS Bin  
JS Bin là một trong những công cụ gỡ lỗi JavaScript tốt nhất để gỡ lỗi cộng tác JavaScript  
của bạn. Nó cho phép bạn kiểm tra và gỡ lỗi các tập lệnh ngay cùng với những người khác.  
Bạn thể chạy JavaScript, xem bảng điều khiển gỡ lỗi đầu ra của các tập lệnh, thêm thư  
viện phần phụ thuộc, v.v. Các tài khoản chuyên nghiệp cũng thể sử dụng mã riêng tư  
cũng như các lợi ích khác. Một trong những lý do chính mà bạn thể cân nhắc sử dụng một  
11  
công cụ như JS Bin là sự đơn giản. Trong JS Bin, bạn thể kiểm tra chức năng của một tập  
con nhỏ JavaScript của mình trong một môi trường riêng biệt mà không cần phải thiết lập  
toàn bộ môi trường cho nó.  
Giao diện JS Bin  
Khi thử nghiệm trong JS Bin, bạn thể chắc chắn rằng kết quả của mình không bị ảnh hưởng  
bởi các tập lệnh hoặc kiểu xung đột từ các phần khác của ứng dụng. Một tính năng chính khác  
của JS Bin là kết quả ngay lập tức bạn nhận được từ việc thay đổi JavaScript, HTML hoặc  
CSS của mình . Bạn thể thấy các thay đổi của mình trong thời gian thực. Bạn thể sao  
chép một số mã vào JS Bin và có bản demo hoạt động ngay lập tức. Sau đó, bạn đã sẵn sàng  
để gỡ lỗi hoặc chia sẻ nó.  
JSON Formattor and Validator  
thể rất khó phát hiện ra các lỗi cú pháp hoặc các khóa có giá trị không chính xác khi nhìn  
vào JSON chưa được định dạng. Nếu bạn một đối tượng JSON cô đọng hoặc rút gọn, thiếu  
các dòng trả về, thụt lề khoảng trắng, thì việc đọc thể một thách thức. Bạn cần khả  
năng quét nhanh đối tượng đó kiểm tra lỗi trong định dạng hoặc nội dung, để làm điều đó,  
bạn sẽ mở rộng đối tượng định dạng nó, lãng phí thời gian quý báu.  
12  
Giao diện JSON Formatter & Validator  
JSON Formatter & Validator làm giảm bớt điểm khó khăn đó, vậy chúng tôi đã thêm nó  
vào danh sách này với những gì tôi cảm thấy là công cụ gỡ lỗi JavaScript tốt nhất. Postman  
tự động định dạng đối tượng và cho phép bạn dễ dàng xác nhận cả cú pháp JSON của cũng  
như nội dung thực tế. Bạn chỉ cần dán JSON của mình vào và nó xuất ra phiên bản được định  
dạng chính xác. Công cụ thậm chí sẽ tự động xác nhận cú pháp theo tiêu chuẩn RFC, tùy  
thuộc vào việc bạn chọn, nếu có.  
2. Sử dụng Console.log()  
Sử dụng phương thức console.log() để hiển thị các giá trị trong cửa sổ công cụ debug tích  
hợp trong trình duyệt web.  
dụ chúng ta có đoạn mã:  
13  
Chạy Chrome nhấn phím F12 sẽ kết quả:  
Console.log thường được các lập trình viên sử dụng để hiển thị giá trị biến, kiểm tra giá trị  
đúng như mong muốn hay không.  
3. Thiết lập các điểm dừng (breakpoints)  
Tại mỗi dòng mã, ta có thể thiết lập một breakpoint và JavaScript sẽ ngừng thực thi tại điểm  
đó để chúng ta kiểm tra giá trị. Sau khi kiểm tra giá trị xong, chúng ta có thể phục hồi lại quá  
trình thực thi đoạn mã.  
Cách thiết lập breakpoint trong Chrome được hướng dẫn chi tiết  
ints?hl=en (các trình duyệt khác có thể tìm hiểu thêm trên mạng).  
14  
Minh hoạ cách thiết lập điểm dừng đoạn mã trên trong Chrome:  
Trong cửa sổ của debugger (sau khi nhấn phím F12) chọn Sources, giao diện lúc này trong như  
sau:  
Nhấp chuột vào một hàng code nào đó (chẳng hạn như hàng 9) và nhìn xuống  
mục Breakpoints sẽ xuất hiện hàng code này, giao diện như sau:  
15  
Reload lại trang thì vùng bên ngoài cửa sổ debugger xuất hiện thanh chứa nút Resume script  
execution (F8) như sau:  
Nhấn chuột vào nút này thì chương trình sẽ hoạt động lại bình thường.  
16  
4. Sử dụng từ khóa “debugger”  
Từ khóa debugger dừng việc thực thi JavaScript và gọi hàm gỡ lỗi (nếu có).  
Điều này có chức năng tương tự như thiết lập một điểm breakpoint trong trình gỡ lỗi.  
Nếu không có gỡ lỗi nào khả dụng, câu lệnh gỡ lỗi không có hiệu lực.  
Với trình gỡ lỗi được bật, mã này sẽ ngừng thực thi trước khi thực thi dòng thứ ba.  
Kết quả:  
Khi chúng ta đặt từ khoá debugger tại vị trí nào đó thì các đoạn mã sau từ khoá debugger sẽ  
ngừng thực thi khi debugger được bật (F12)  
17  
5. Debug mã javascript trong ứng dụng website.  
5.1. Giới thiệu ứng dụng  
- Tạo 1 form với 2 trường nhập dữ liệu: “Chi tiêu” và “Giá tiền”.  
- Sử dụng ngôn ngữ Javascript thu thập dữ liệu hiển thị dữ liệu tương ứng người dùng  
nhập vào  
- Sử dụng HTML và CSS xây dựng giao diện  
Giao diện ứng dụng  
nguồn HTML  
18  
nguồn Javascript  
5.2. Phân tích các lỗi javascript trong ứng dụng  
Lỗi 1: Khi click vào nút Thêm thì không thực thi mã lệnh  
Chuẩn đoán: Sự kiện gọi bị sai cú pháp  
Lỗi 2: Xuất hiện lỗi document.getElementByid is not a functiondòng 38  
Chuẩn đoán: Sử dụng sai tên function của Javascript  
Lỗi 3: Xuất hiện lỗi Failed to excute ‘appendChild’ on ‘Node’: 1 argument  
required, but only 0 presentdòng 41  
Chuẩn đoán: Sai cú pháp function appenChild, khi sử dụng chưa truyền tham số  
5.3. Debug lỗi trong ứng dụng  
19  
Lỗi 1: Kiểm tra lại đoạn bắt sự kiện khi click vào nút Thêm. Sự kiện hợp lệ  
phải sửa lại click.  
Lỗi 2: Kiểm tra lại code tại dòng 38. Tham khảo tài liệu function của javascript để  
sửa lại tên function là getElementById  
20  
Tải về để xem bản đầy đủ
docx 36 trang Thùy Anh 05/05/2022 6340
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình nghề Thiết kế trang Web - Môđun: Khắc phục lỗi và Debug Website", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • docxgiao_trinh_nghe_thiet_ke_trang_web_modun_khac_phuc_loi_va_de.docx