Debugging

(by Vardy)

Trong quá trình lập trình, có những lúc cần debug và FE dev cũng có những quy tắc để dễ dàng debug.

Có 1 số kinh nghiệm và quy định như sau:

Truyền tham số cứng

Một vài lập trình viên thích truyền 1 tham số trên URL để cần hiển thị thông tin hay thực hiện chức năng nào đó mà không cần viết thêm giải thuật (phức tạp và tốn thời gian).

  • Ví dụ: truyền tham sô doTest=1 (dotest=1) để bật thông tin debug. Tức là, trong code (BE, FE), nếu kiểm tra tham số doTest là 1 thì hiển thị thông tin debug (còn bình thường thì không cần hiển thị thông tin này).

  • Ví dụ: truyền tham số code=abcdefgh123456890 để thực hiện 1 hành động nào đó, ví dụ code này là user code và cần kiểm tra quyền của user (role hay permission) thay vì phải có hành động login (authenticated). Tức là, người lập trình cũng đã biết code này rồi (và chỉ người lập trình biết; hacker không biết).

https://my.deviceuni.com/device?dotest=1 
https://community.vardytests.com/ai-respones/list?code=abcdefgh123456890 

Bật log level và dùng logger

Một số lập trình viên dùng logger như Log4Net, và làm 1 số việc cấu hình sau:

  • câu hình log4net loại DEBUG, INFO, ...

  • chuyển (so sánh) thêm với log level của user ==> để quyết định là có ghi đoạn/thông tin debug đó ra file log (file name theo ngày như vdt_logging_20240706.txt); hoặc có thễ ghi vào database với phân loại theo column để dễ query.

Giá trị
Tên
Mô tả

0

OFF

tắt. Không có logging

1

FATAL

các lỗi 'chết người'

2

ERROR

lỗi

3

WARN

chỉ là cảnh báo

4

INFO

chỉ ghi "thông tin" thôi

5

DEBUG

ghi các thông tin về debug

6

ALL

5 là ALL (bật hết chế độ logging)

Last updated