17 điểm bởi bboydart91 2026-02-03 | 1 bình luận | Chia sẻ qua WhatsApp

Các cuộc thảo luận về 'mã dễ đọc' thường bị xem là vấn đề thuộc về sở thích cá nhân hay quy ước, nhưng thực tế là bên dưới đó có những nguyên lý của khoa học nhận thức đang vận hành. Bài viết này phân tách 'trực giác' của lập trình viên dưới góc nhìn khoa học thần kinh và phân tích cảm giác trừu tượng mang tên tính dễ đọc thành một cấu trúc logic.

  1. Trực giác không phải phép màu mà là kỹ năng đối sánh mẫu ở trình độ cao Khi một lập trình viên dày dạn 'vừa nhìn đã' ngửi thấy code smell, đó không đơn thuần là cảm giác. Đó là quá trình Ventral Striatum của não bộ đối chiếu vô số mẫu mã đã học trong quá khứ với đoạn mã hiện tại theo thời gian thực. Nói cách khác, trực giác không phải là logic bị lược bỏ, mà là kết quả của một 'phép tính tốc độ cao' được xử lý quá nhanh đến mức tiến trình logic không hiện lên bề mặt ý thức.

  2. Giới hạn của Working Memory và cognitive load Working Memory của con người chỉ có thể xử lý khoảng 3–5 đơn vị thông tin (chunk) cùng một lúc. Mã có độ dễ đọc thấp sẽ làm cạn kiệt nguồn lực hữu hạn này.

Những cú nhảy nhận thức không cần thiết: Mã mà phần khai báo và phần thực thi cách nhau quá xa, hoặc quan hệ nhân quả bị rối, sẽ khiến não bộ phải liên tục 'context switching' để duy trì ngữ cảnh hiện tại.

Tính hiển thị về mặt tâm lý: Việc mã có thể được đọc lướt một cái là hiểu đồng nghĩa với việc não bộ ngay lập tức ánh xạ đoạn mã đó vào các mẫu (schema) đã biết mà không cần qua thêm bước diễn giải riêng biệt.

  1. Thiết kế mã bằng cách tận dụng chunking Não bộ đạt hiệu quả cao nhất khi nhóm dữ liệu riêng lẻ lại và nhận thức chúng như một đơn vị duy nhất.

Các hàm và module được thiết kế tốt sẽ trừu tượng hóa logic phức tạp thành một 'chunk', giúp người đọc nắm được toàn bộ ngữ cảnh mà không cần ghi nhớ chi tiết triển khai.

Tuy nhiên, sự trừu tượng hóa quá mức lại khiến người đọc phải nhìn vào bên trong 'chunk' mới hiểu được ý nghĩa, gây ra 'sự kém hiệu quả về nhận thức' khi chi phí diễn giải của não bộ bị nhân đôi.

  1. Quy luật bảo toàn năng lượng của não bộ và tính nhất quán của mã Não bộ là cơ quan tiêu thụ hơn 20% năng lượng của cơ thể và theo bản năng luôn cố giảm mức tiêu hao đó. Cách đặt tên thiếu nhất quán hay convention chỗ thế này chỗ thế khác sẽ phá vỡ 'mô hình dự đoán' của não và buộc nó tiêu tốn năng lượng không cần thiết. Ngược lại, mã có quy tắc rõ ràng cho phép não bộ đọc mã ở chế độ 'tự lái', từ đó giảm mệt mỏi.

Kết luận: Tính dễ đọc là sự quan tâm dành cho bộ não của đồng nghiệp Sau cùng, thiết kế mã tốt chính là một kiểu thiết kế nhận thức nhằm tối thiểu hóa năng lượng mà bộ não của đồng nghiệp lập trình viên phải dùng cho việc 'nhận diện mẫu'. Việc nâng cao tính dễ đọc không chỉ là làm cho mã trông đẹp hơn, mà còn là hành động tiết kiệm nhất để bảo vệ nguồn lực nhận thức hữu hạn của người cộng tác.

1 bình luận

 
manist67 2026-02-04

Cảm ơn vì bài viết hay.

Mấy đoạn code ví dụ thật sự rất dễ đồng cảm haha