Desk checking là gì?

Phrase Programming
code review

Desk checking hoặc code review là quá trình kiểm tra thủ công mã nguồn (source code) của một chương trình. Nó liên quan đến việc đọc qua các hàm (function) trong mã và kiểm tra chúng theo cách thủ công, thường với nhiều giá trị đầu vào (input). Trong desk checking, một lập trình viên (programmer) ngồi tại desk check (proofread) một bản in của chương trình. Lập trình viên đi qua danh sách từng dòng một cách cẩn thận để tìm lỗi cú pháp (syntax error) và lỗi logic (logic error). Mặc dù là một kỹ thuật hữu ích để phát hiện lỗi, các ứng dụng và công cụ gỡ lỗi hiện đại đã làm cho việc desk checking ít liên quan hơn và không còn thiết yếu như trước đây.

Desk Check khác với Test Plan ở chổ desk check tập trung vào giá trị của các biến và logic, tức là giá trị của biến x là gì sau câu lệnh n; câu lệnh tiếp theo sẽ được thực thi là gì ? còn test plan tập trung vào các giá trị của đầu vào và đầu ra cần thiết để kiểm tra một chương trình mà không quan tâm đến hoạt động bên trong, tức là kết quả (đầu ra) có chính xác với đầu vào không ?

Desk check được thực hiện với sự trợ giúp của bảng (table) có các cột (column) cho cột số dòng mã giả (pseudo-code line number column), cột điều kiện, cột đầu vào / đầu ra và một cột cho các biến.

  • Cột số dòng mã giả (mã giả thường không có số dòng, nhưng chúng cần thiết trong desk check để chỉ định (các) dòng đang được thực thi)
  • Cột điều kiện (condition column), kết quả của điều kiện sẽ là true (T) hoặc false (F). Khi thuật toán được thực thi, các điều kiện được đánh giá và các chi tiết được ghi lại trong cột, giúp hiển thị hoạt động khi đánh giá các điều kiện.
  • Cột đầu vào / đầu ra (Input/Output column) giúp hiển thị các đầu vào và đầu ra, đồng thời giúp đánh giá đầu vào mà người dùng nhận được và đầu ra được hiển thị theo logic.
  • Cột cho các biến giúp đánh giá các phép tính bằng cách sử dụng các biến. Lập trình viên / nhà thiết kế / người thử nghiệm bắt đầu với một số đầu vào có thể có và xem qua từng dòng của thuật toán. Các dòng được gán số dòng và tiến hành với từng dòng có tính đến sự thay đổi giá trị của các biến. Tất cả thông tin được ghi lại trong các cột của bảng. Việc đánh giá thường được thực hiện với sự trợ giúp của bút / bút chì và giấy, và tương tự như proofreading.

Thông thường, bố cục trang dọc sẽ được sử dụng cho desk check, tuy nhiên nếu bảng quá rộng, bố cục trang ngang có thể được sử dụng.

Mặc dù desk checking rất hữu ích để phát hiện ra các lỗi logic và các vấn đề khác trong mã nguồn của chương trình, nhưng việc này tốn nhiều thời gian. Do đó, một IDE hoặc công cụ gỡ lỗi sẽ phù hợp hơn để phát hiện các vấn đề nhỏ, chẳng hạn như lỗi cú pháp (syntax error).

Learning English Everyday