Những mẹo lập trình nhỏ nhưng mang lại năng suất lớn

Công nghệ16 tháng 9, 2026·5 phút đọc

Bài viết của Will Keleher trên Hacker News chỉ ra rằng phần lớn năng suất kỹ thuật đến từ những mẩu kiến thức nhỏ, dễ tiếp thu nhưng có đòn bẩy cao. Từ việc dùng fzf để tìm lại lệnh cũ, chạy explain analyze trong cơ sở dữ liệu cho tới git log -S để truy vết lịch sử mã nguồn, tác giả nhấn mạnh rằng chia sẻ những mẹo vặt này mỗi ngày có thể tiết kiệm đáng kể thời gian cho cả đội ngũ.

Trong công việc kỹ thuật hằng ngày, phần lớn năng suất không đến từ những bước nhảy vọt về kiến trúc, mà đến từ những mẩu kiến thức nhỏ được tích lũy âm thầm. Biết rằng một tính năng nào đó của ngôn ngữ lập trình tồn tại, biết rằng một độ trễ TCP khó hiểu có thể liên quan tới TCP_NODELAY và thuật toán Nagle, hay biết đúng câu lệnh git để thoát khỏi tình huống khó xử — tất cả đều là những viên gạch nhỏ tạo nên hiệu suất làm việc.

Bài viết gần đây của Will Keleher trên Hacker News đã tập hợp một loạt mẹo như vậy, kèm theo một quan sát thú vị: những kiến thức nhỏ này có giá trị đặc biệt vì chúng không đòi hỏi nền tảng tư duy phức tạp. Bạn không cần biết Python để chạy python3 -m http.server và dựng ngay một máy chủ trong thư mục hiện tại.

Lịch sử dòng lệnh: từ ctrl + r tới atuin

Hầu hết người dùng terminal đều biết tổ hợp ctrl + r để tìm lại lệnh đã gõ. Nhưng nếu bạn cài fzf, thao tác này sẽ chuyển thành tìm kiếm mờ, nhanh và trực quan hơn hẳn.

Nếu cần sức mạnh hơn nữa, atuin thay thế lịch sử shell bằng một cơ sở dữ liệu SQLite có thể tìm kiếm. Công cụ per-directory-history cho phép bạn luân phiên giữa việc tìm lệnh đã chạy trong thư mục hiện tại và tìm trong toàn bộ lịch sử. Ngoài ra, bạn có thể cấu hình số lượng lệnh được lưu trữ tùy theo nhu cầu.

Cơ sở dữ liệu: những câu lệnh bị bỏ quên

Có một chi tiết ít người để ý: bạn có thể viết SELECT mà không cần mệnh đề FROM. Điều này hữu ích khi muốn thử nghiệm cách một hàm trong cơ sở dữ liệu hoạt động, hoặc đơn giản là nhắc lại cho mình cách SELECT TRUE NULL trả về kết quả gì.

Nếu đang cố tối ưu truy vấn, cả PostgreSQL lẫn MySQL đều hỗ trợ EXPLAIN ANALYZE. Khác với EXPLAIN thông thường, lệnh này sẽ thực sự chạy truy vấn và cung cấp lượng thông tin chi tiết hơn nhiều về hiệu năng thực tế của nó.

Biểu thức chính quy và đo lường phân phối dữ liệu

Trong regex, ký hiệu \b — khẳng định ranh giới từ — giúp việc tìm điểm đầu hoặc điểm cuối của một từ trở nên đơn giản hơn rất nhiều.

Một mẹo khác liên quan tới đo lường: bạn có thể dùng logarit để nắm được phân phối giá trị của một trường dữ liệu quan tâm. Thay vì đẩy thẳng giá trị thô vào hệ thống metrics, hãy đưa chúng vào các nhóm (bucket) theo cấp số nhân để biểu đồ trực quan hơn và ít bị nhiễu bởi các giá trị ngoại lai.

JavaScript và Node.js hiện đại

JavaScript ngày nay đã hỗ trợ sẵn Array.flatMap, Object.entriesPromise.withResolvers — những tiện ích từng phải cài thêm thư viện.

Trong Node.js, nếu thường xuyên gọi tới một tài nguyên bên ngoài, bạn có thể giữ kết nối luôn mở bằng cách tạo một https.Agent rồi truyền vào các yêu cầu HTTP. Cách này có thể giảm độ trễ một cách đáng kể, đặc biệt trong các ứng dụng gọi API liên tục.

Git: công cụ đào bới lịch sử mã nguồn

git log -S pattern, còn gọi là "git pickaxe", liệt kê mọi commit đã thêm hoặc xóa một chuỗi ký tự trong mã nguồn. Với các dự án lâu năm, đây là công cụ vô giá để truy vết nguồn gốc một đoạn code. Biến thể git log -G pattern tương tự, nhưng còn hiển thị cả những lần dòng code bị di chuyển vị trí.

Tương tự như cd - quay lại thư mục trước đó, bạn có thể dùng git checkout - để quay về nhánh HEAD trước.

Công cụ dòng lệnh: bớt phụ thuộc vào find và grep

Nhiều lệnh find có thể được thay thế bằng glob như **/*.md. Hầu hết shell đều hỗ trợ sẵn, riêng bash cần bật bằng shopt -s globstar.

Về tìm kiếm nội dung, phần lớn người dùng nên chuyển sang ripgrep (rg) thay vì grep, ack hay ag nhờ tốc độ vượt trội.

Cuối cùng, tính năng tự động hoàn thiện nâng cao của zsh không được bật mặc định. Bạn cần nạp compinit trong tệp cấu hình, kèm theo việc bổ sung đường dẫn tới các hàm hoàn thiện do Homebrew cung cấp nếu dùng macOS.

Bài học lớn từ những viên gạch nhỏ

Điểm đáng chú ý là trong môi trường doanh nghiệp, phần lớn kiến thức có giá trị cũng mang hình dạng "mẩu nhỏ, đòn bẩy cao" như vậy:

  • Muốn gỡ lỗi vấn đề X, hãy xem dữ liệu ở nguồn Y.
  • Người A hiểu rất rõ mảng B và sẵn sàng hỗ trợ khi bạn bí.
  • Tài liệu về vấn đề khó C nằm ở đây.
  • Khi hiện tượng D xảy ra, nghĩa là cần mở rộng thủ công.
  • Muốn khởi động lại luân phiên một dịch vụ, chạy lệnh này.
  • Công cụ nọ giúp script hóa vấn đề kia dễ dàng.

Chỉ cần biết 9 trong 10 mẹo cũng đã hữu ích, nhưng chính mẹo thứ 10 — một tài liệu hay một kỹ thuật chưa từng nghe tới — có thể tiết kiệm cho bạn hàng giờ đồng hồ.

Tác giả kể lại rằng ở một công ty cũ, ông từng chia sẻ một mẹo mỗi ngày lên Slack cho đội kỹ thuật, bao gồm cả mẹo kỹ thuật lẫn kiến thức nội bộ. Một mẹo mỗi ngày là liều lượng vừa đủ để không gây quá tải, mà vẫn thường xuyên khơi ra những cuộc thảo luận hữu ích.

Với các kỹ sư có kinh nghiệm, việc duy trì một thói quen tương tự — chia sẻ điều nhỏ mà mình biết — có thể tạo ra hiệu ứng cộng dồn đáng kể cho cả đội ngũ. Bởi suy cho cùng, như Julia Evans từng viết, những mẩu kiến thức nhỏ không chỉ mạnh mẽ, mà còn thú vị và dễ tiếp cận.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗