Này, lập trình viên, bạn đã có Vịt cao su chưa?

6281

Liệu bạn có biết rằng, ngày nay, Vịt cao su là một phương  pháp debug hữu hiệu và thời thượng dành cho giới lập trình trên toàn thế giới. Điều thú vị ở chỗ, đây hoàn toàn không phải là một câu chuyện đùa. Cùng đọc tiếp nhé 😉

 

Lần đầu tiên khái niệm “Rubber Duck Debugging” xuất hiện là ở trong cuốn “The Pragmatic Programmer” của Andy Hunt and David Thomas. Cụ thể là như thế này:

Bản chất của phương pháp Debugging với Vịt cao su là bạn mua (hoặc thuê) một chú Vịt cao su về, để trên bàn ở nơi trang trọng nhất, và giải thích một cách ngắn gọn và dễ hiểu từng dòng một trong đoạn code của mình với nó. Và rồi BOOM!, điều kì diệu sẽ xảy ra, mọi vấn đề dường như sáng tỏ và việc debug chỉ nằm trong bàn tay bạn. Nghe tưởng vô lý, nhưng trên thực tế, nó có cả lý giải đầy tính khoa học hẳn hoi.

Lời giải thích cho phương pháp này nằm ở quá trình bạn biểu đạt vấn đề của mình một cách rành mạch, dễ hiểu cho một đối tượng không có chút hiểu biết nào về những việc bạn đang làm. Quan trọng là trong quá trình ấy, bạn sẽ phải huy động mọi giác quan bao gồm: mắt để nhìn, miệng để nói, não bộ để sắp xếp các suy nghĩ trong đầu. Việc này sẽ giúp cho bạn dễ dàng tìm thấy những lỗ hổng trong mạch tư duy mà có thể bạn chưa bao giờ nhìn ra, và tìm được giải pháp đơn giản nhất để giải quyết chúng.

Việc giải thích code cho một chú Vịt cao su, về mặt bản chất, chẳng khác gì việc bạn viết note khi học thuộc lòng, hay giảng bài cho người khác khi muốn củng cố lại kiến thức của mình. Tất cả đều có điểm chung là cố gắng vận dụng nhiều nhất các giác quan có thể để hỗ trợ quá trình tư duy và giải quyết vấn đề.

Nhưng tại sao lại là Vịt cao su? 

Đến đây thì nên nhắc tới tính cách đặc trưng của anh em Dev một chút. Dĩ nhiên, nếu chỉ là tìm một đối tượng không hiểu biết gì về code để áp dụng phương pháp “ồn ào” này, thì đâu có thiếu?

– Một cô nàng ư? – Dev nào mà lại dám ngồi đàm đạo về code với gái cơ chứ?

– Bố mẹ hay bạn bè? – Ai sẽ có thời gian và kiên nhẫn cơ chứ? Liệu họ hỏi lại có phải là mất công để giải thích không?

– Một chú cún? – Quá ồn ào

– Một chú mèo? – Quá thiếu sự tập trung

– Một chú chim? – Quá phiền hà

vân vân và mây mây…

Vậy thì cái gì đáng yêu, tích cực và tập trung tuyệt đối vào những gì mình nói hơn là một chú Vịt cao su xinh xắn nằm gọn ở góc bàn, như một người chiến hữu cơ chứ 😉


Những mẩu chuyện hài hước xung quanh Rubber Duck Debugging:

1. Quack (Overflow)! 

Vào ngày 1.4.2018, trên Stack Overflow xuất hiện một popup của người trợ lý Vịt cao su, luôn luôn lắng nghe, lâu lâu mới hiểu vấn đề mà bạn gặp phải với code của mình. 

Quack Step 2

 

Nó thậm chí còn khuyến khích dev chia sẻ suy nghĩ của mình, lắng nghe rất chăm chú và phản hồi vô cùng tận tâm.

No need of Mic

 

Quack
Bạn còn chờ đợi gì hơn ở phản hồi từ một chú vịt cao su chứ? :v

2. Mua Debugging Vịt cao su: 

Nếu bạn thật sự nghiêm túc về công việc của mình, hãy thuê/mua những chuyên gia có trình độ “đại học” để tư vấn về code cho mình nhé. Ở đây người ta có bán những chú Vịt cao su với rất nhiều chuyên ngành phong phú cho các anh em lựa chọn.

3. Những chú Vịt Online

Có riêng một trợ lý Vịt dĩ nhiên là rất tốt rồi, nhưng nếu bạn chưa có tiền để thuê chú trợ lý này thì sao? Đừng lo nhé, vẫn có những trợ lý ảo sẵn sàng “Quack! Quack!” vì bạn. 

Vậy thì, sau khi đọc bài viết này, bạn đã sẵn sàng để tậu một chú Vịt cao su chưa? 😉

Có thể bạn quan tâm:

Xem thêm việc làm Software Developers tại TopDev

TopDev via Spiderum

  Quy tắc 24x3 cho sáng tạo trong lập trình!
  12 nguyên tắc làm lập trình của Joel để tạo nên phần mềm tốt hơn