Tư duy theo bản chất vấn đề
Tư duy theo bản chất vấn đề là cách tiếp cận một bài toán bằng việc xác định đặc tính cốt lõi của nó trước, rồi mới chọn công cụ và giải pháp phù hợp, thay vì xuất phát từ quan điểm hay sở thích cá nhân. Quyết định kỹ thuật được đặt trên đặc tính của vấn đề, không phải trên thói quen của người giải.
Một minh họa là việc lựa chọn giữa lập trình hướng đối tượng và lập trình hướng thủ tục cho một RESTful API. Đặc tính cốt lõi của REST là stateless: server không lưu trạng thái của request từ client, các request độc lập với nhau. Lập trình hướng đối tượng duy trì trạng thái trong các object, còn lập trình hướng thủ tục chỉ tập trung vào logic xử lý với đầu vào và đầu ra. Vì bản chất stateless không cần lưu trạng thái, lập trình hướng thủ tục là lựa chọn hợp lý hơn nhờ đơn giản, dễ bảo trì và dễ kiểm thử. Lựa chọn này đến từ bản chất stateless của REST chứ không từ định kiến rằng một kiểu lập trình luôn tốt hơn kiểu còn lại.
Tư duy theo bản chất gắn liền với việc trừu tượng hóa và mô hình hóa vấn đề trong đầu trước khi thao tác. Khi nhìn ra bản chất, nhiều công nghệ phức tạp trở nên dễ tiếp cận: Protocol Buffer bản chất là một bộ serializer và deserializer dữ liệu, còn RESTful API và gRPC bản chất đều là lời gọi function. Hiểu được lớp trừu tượng cốt lõi giúp tiếp cận và xử lý vấn đề nhanh hơn vì người giải làm việc với khuôn mẫu tổng quát thay vì các chi tiết bề mặt rời rạc.
Nguồn tham khảo
- Mình rút ra được những bài học gì sau 4 năm làm lập trình viên - Phần 1
- Trải nghiệm làm mentor trong 1 năm
Liên kết tri thức
- Sự tương đồng trong tư duy của trí tuệ nhân tạo và con người - Trừu tượng hóa từ hiện tượng để rút ra quy luật là cùng một công thức quan sát – lý luận – tổng quát hóa
- Hiểu công nghệ trước khi áp dụng - Hiểu bản chất một công nghệ là điều kiện để chọn và dùng nó đúng với đặc tính vấn đề
- Phân tích đánh đổi khi đề xuất giải pháp - Đặc tính cốt lõi của vấn đề là căn cứ để cân nhắc ưu và nhược điểm giữa các giải pháp
- Rèn luyện tư duy giải quyết vấn đề - Khả năng tổng quát hóa bài toán được rèn luyện qua thực hành liên tục
- Triết lý làm mentor - Người dẫn đường hướng mentee tới bản chất và mô hình hóa vấn đề thay vì thao tác cụ thể