Rubber Ducking – Kỹ thuật Debug thượng thừa

Rubber Ducking – Vịt Cao Su hay Rubber Duck Debugging, là một kỹ thuật debug được sử dụng trong kỹ nghệ phần mềm. Một thuật ngữ khá vui nhộn nhưng lại rất hữu ích khi bạn sử dụng. Nó sẽ giúp bạn giảm được cả tấn thời gian khi đối mặt với những vấn đề quanh dòng mã mà mình viết ra.

Theo đinh nghĩa, Rubber Duck Debugging là một cách thức debug code đơn giản. Nó bắt nguồn từ một câu chuyện trong cuốn sách Pragmatic Programmer, về một anh chàng Coder luôn mang theo con Vịt Cao Su bên mình và giải thích từng dòng mã của anh ta cho con Vịt Cao Su ấy.

Phương pháp xoay quanh ý tưởng này rất đơn giản, bạn cố gắng giải thích code của mình cho những vật vô tri, tỉ dụ con Vịt Cao Su. Điều này giúp bạn phá vỡ những vấn đề mà bạn đang cố hoàn thiện với dòng code của mình. Bằng cách này, bạn thoát ra khỏi khuôn suy nghĩ của bạn, và thực sự giải thích những gì đang xảy ra với code của bạn. Bặp cách lặp đi lặp lại kỹ thuật Rubber Ducking, lập trình viên có thể xử lý được vấn đề mà không cần phải Google nó.

Lưu ý một chút, thay vì giải thích code của bạn với con Vịt Sao Su, bạn hoàn toàn có thể giải thích nó với đồng nghiệp hoặc bạn bè của bạn, những người có thể sẽ đưa ra lời khuyên hữu ích cho bạn nếu như họ đã từng gặp vấn đề tương tự. Bạn thực sự không biết ai đã gặp vấn đề tương tự chưa, nhưng hãy cố thử giải thích cho họ về cách hoạt động của code bạn viết ra.

Nhìn chung, Vịt Cao Su là một thứ không có kinh nghiệm về code, giải thích cho nó hiểu cũng giống như bạn giải thích cho một người không biết gì về viết mã. Việc giải thích này giúp cho bạn vận dụng những từ ngữ dễ hiểu, phi kỹ thuật, những liên tưởng tới vấn đề và tránh những chi tiết không cần thiết khi xử lý vấn đề (Ví dụ quá tập trung vào 1 thuật ngữ chuyên ngành).

Nào bây giờ hãy cùng thực hành, giải thích cho con Vịt Cao Su của bạn hiểu về đoạn code mà bạn đang viết và vấn đề bạn đang gặp phải. Nếu không có Vịt, hãy thử giải thích với cái cây trên bàn của bạn hoặc Comtor trong dự án của bạn. Tôi đã dừng dành gần 1 tiếng đồng hồ để giải thích về dự án và các thuật ngữ dùng cho việc coding cho một bạn Comtor chưa có kiến thức gì về IT.

Có một số cách mà tôi cũng hay thử như:

  • Khi không thể giải quyết được vấn đề, hãy đi ra ngoài làm cốc trà đá, hoặc chợp mắt 1 chút.
  • Nếu gặp vấn đề về Code, hãy gọi một ai đó ra ngồi cạnh bạn, cố giải thích cho họ hiểu các bước mà bạn đã thực hiện với code, mô tả đầu ra mong muốn và vấn đề mà bạn đang gặp phải.

Hy vọng bài viết sẽ hữu ích với bạn.