Đọc Cái Đống Code Khỉ Gió Đó Đi!
3/8/2025
(được lên hẳn Hacker News nha mấy ông)
Nếu có ai bảo tôi cách đây 2–3 năm rằng đến năm 2025 lời khuyên số 1 cho gen dev mới vào nghề sẽ là: “Đọc code đi!” (ở đây còn chưa nói tới việc đọc lại cơ)… chắc tôi cười xỉu.
Bài này nói về gì?
Không phải tôi lên đây để giảng đạo, nhưng mà thời buổi này muốn làm product cho ra hồn thì nên học cách xài AI code tool cho đúng.
Menu hôm nay gồm có:
-
3 tai họa khi code theo vibe
-
2 cách để xài AI mà vẫn đủ chuẩn production
-
Tips giữ chất lượng code nhưng vẫn tận dụng tốc độ AI
Vibe-Coding là cái gì vậy trời?
Nghe thì tưởng chỉ là hobby — gõ vài prompt cho vui để AI code hộ. Nhưng thật ra nó là một skill nghiêm túc luôn.
Với tôi: Vibe-Coding là kiểu coding đối thoại, dev làm “ông thầy”, AI làm “thằng đệ” ngồi code hộ.
Giờ code mà không thèm đọc line nào vẫn ship được 😱
Nhờ có Cursor, Windsurf, Claude Code… anh em chỉ cần ngồi chém gió trong khung chat là có code chạy được liền. Thậm chí fail lần 1 thì sửa prompt lần 2, cái gì cũng xong.
Cơ mà… đi kèm là 3 vấn đề siêu to khổng lồ:
1. Kiến trúc nát bét 🍜
Không review code AI viết ra thì xin lỗi, kiến trúc của anh em sẽ từ từ thành… phở thập cẩm.
Ví dụ: dev chuẩn ban đầu là service handle business logic. Nhưng AI lỡ mồm quăng luôn business logic vào controller. Thế là xong!
Những lỗi nhỏ xíu này không fix sớm thì sau này codebase loạn như mớ bòng bong.
Nhớ nha: AI chỉ là thằng dev mới vào nghề, và junior code thì phải review. Đừng dại mà merge thẳng.
2. Mất sạch kiến thức implement 🤯
Trích Alain (triết gia Pháp, thế kỷ 19):
“Không ai có thể outsource cái hành động tư duy.”
Nghe deep vl nhưng đúng. Nếu chỉ quan tâm kết quả cuối cùng thì sớm muộn gì anh em cũng biết code của mình ít như… user ngoài đường.
App được hình thành từ trước khi gõ bàn phím cơ: rule, logic, infra… toàn nghĩ ra lúc đi xe bus hoặc đang tắm. Không giữ “domain knowledge” trong đầu thì xác định — làm dev chỉ như operator nhấn nút thôi.
3. Bảo mật đi tong 🔥
Prod app thì phải quan tâm security. Nhưng AI nhiều khi “làm đúng yêu cầu” mà sai bét logic bảo mật.
Ví dụ: bảo nó viết API lấy project theo user. Nó quăng code lấy project ID từ client, xong trả về luôn, không check user nào hết.
=> Welcome SQL Injection Party 🥳.
Một prompt sai, một commit lười review là toang.
Vậy làm sao để vibe-code tử tế?
Theo Anthropic thì có 2 cách chơi cho ngon:
-
Auto-Accept Mode cho prototype
-
Dùng khi chưa quen tech, build test scaffold, hoặc nghịch lib mới.
-
AI tự code, mình cuối session review lại.
-
-
Sync coding cho core feature
-
Pair-code với AI, không auto-accept.
-
Mỗi bước đều check, chỉnh hướng sớm. Uốn từ cây non dễ hơn gỡ cây cổ thụ.
-
Checklist trước khi merge code AI 👀
-
Kiến trúc: Theo đúng pattern chưa?
-
Security: Scope user đủ chưa?
-
Test: Có test cái gì meaningful không hay chỉ “green check” cho đẹp?
-
Doc: 6 tháng sau đọc còn hiểu không?
-
Error handling: Có cover edge case chưa?
-
Performance: Có N+1 query không?
Và quan trọng nhất: phải hiểu cái code mới này nó đang làm gì.
AI coding tool đúng là siêu bá, nhưng nó amplify skill của anh em, chứ không thay thế được.
Ngày nào mà anh em không còn hiểu codebase của mình thì ngày đó anh em chính thức không còn là kiến trúc sư của nó nữa.
Code review đừng bỏ. Bug chưa chắc là cái đáng sợ nhất đâu. Cái đáng sợ là mất quyền làm chủ domain và kiến trúc — và đó mới chính là cục đá chặn đường innovation.
👉 Nói ngắn gọn: Code thì AI viết được, nhưng trách nhiệm vẫn của dev. Thế nên… Đọc cái đống code khỉ gió đó đi!
Link bài viết gốc
https://etsd.tech/posts/rtfc/?ref=dailydev