Lập trình viên - kỹ năng gõ code hiệu quả
Với lập trình viên, gõ nhanh là kỹ năng quyết định năng suất. Sau 8 năm làm developer và dạy nhiều bạn trẻ vào nghề, mình thấy rõ: người gõ 80+ WPM code nhanh gấp 2-3 lần người gõ 40 WPM - dù có kiến thức chuyên môn tương đương. Bài này chia sẻ kỹ năng gõ chuyên biệt cho lập trình.
Gõ code khác gõ văn bản thế nào?
Khác biệt 1: Ký hiệu đặc biệt liên tục
Code có nhiều ký hiệu ít gặp trong văn bản thường:
- `{`, `}`, `[`, `]`, `(`, `)`
- `;`, `:`, `,`, `.`, `.`
- `=`, `!`, `?`, `<`, `>`
- `+`, `-`, `*`, `/`, `%`
- `&`, `|`, `^`, `~`, `#`
- `@`, `$`, `_`, `\`, `"`, `'`
Trong văn bản tiếng Việt/Anh, các ký hiệu này chiếm 5% ký tự. Trong code, chiếm 25-40%. Ngón phải quen với chúng.
Khác biệt 2: Cụm phím phổ biến khác
Trong tiếng Anh, cụm phổ biến: "the", "and", "ing", "tion", "ed"...
Trong code:
- JavaScript: "function", "const", "return", "async", "await", "=>"
- Python: "def", "return", "import", "class", "self"
- Java: "public", "static", "void", "String", "return"
- CSS: "background-color", "margin", "padding", "flex"
Bạn học các cụm này để không phải gõ từng ký tự.
Khác biệt 3: Tab và Enter dùng nhiều
Code có cấu trúc nested (lồng nhau). Bạn liên tục:
- Enter xuống dòng.
- Tab thụt lề.
- Backspace bỏ tab.
Ngón út phải làm việc gấp 3 lần khi gõ code so với văn bản.
Khác biệt 4: Backspace liên tục
Coder gõ sai và sửa thường xuyên hơn. Debug là quá trình thử-sai. Backspace được dùng 10-15% thời gian gõ code (so với 3-5% trong văn bản).
Kỹ năng gõ code hiệu quả
Kỹ năng 1: Luyện gõ ký hiệu chuyên biệt
Đây là bước quan trọng nhất. Dành 15 phút/ngày trong 2 tuần luyện ký hiệu:
Bài tập 1: Ngoặc
```
() {} [] () {} []
(a) [b] {c} (d)
({[]}) ({[a]})
```
Bài tập 2: Toán và logic
```
1+2 3-4 5*6 7/8
a==b a!=b a<b a>b
if(a&&b) if(x||y)
```
Bài tập 3: Chuỗi và biến
```
"hello" 'world'
name="John" age=25
$var #hash @user
```
Bài tập 4: Cấu trúc thường gặp
```
function foo() { return; }
const arr = [1, 2, 3];
if (x > 0) { y = 1; }
```
Sau 2 tuần, tay bạn quen với ký hiệu. Tốc độ gõ code tăng 30-40%.
Kỹ năng 2: Học phím tắt IDE
Hầu hết thời gian của lập trình viên là IDE. Học phím tắt tiết kiệm hàng giờ mỗi tuần.
VS Code phím tắt cần biết:
- Cmd/Ctrl + P: Mở file nhanh.
- Cmd/Ctrl + Shift + P: Command Palette (tìm mọi lệnh).
- Cmd/Ctrl + /: Comment/uncomment dòng.
- Cmd/Ctrl + D: Chọn từ tiếp theo giống nhau.
- Alt + ↑/↓: Di chuyển dòng lên/xuống.
- Shift + Alt + ↑/↓: Copy dòng lên/xuống.
- Cmd/Ctrl + F: Tìm trong file.
- Cmd/Ctrl + Shift + F: Tìm trong toàn workspace.
- F2: Rename biến/function.
- Cmd/Ctrl + Shift + K: Xóa dòng.
JetBrains IDEs (IntelliJ, PyCharm, WebStorm):
- Ctrl + N: Tìm class.
- Ctrl + Shift + N: Tìm file.
- Ctrl + F12: Structure của file.
- Shift + F6: Rename.
- Ctrl + Alt + L: Format code.
- Ctrl + /: Comment dòng.
Học 15-20 phím tắt IDE. Sau 2 tuần dùng hàng ngày, tự động.
Kỹ năng 3: Snippet và templates
Đừng gõ code lặp đi lặp lại. Dùng snippet:
VS Code: Ctrl+Shift+P → "Configure User Snippets".
Ví dụ snippet React component:
```javascript
"React Component": {
"prefix": "rfc",
"body": [
"import React from 'react';",
"",
"const $1 = () => {",
" return (",
" <div>$2</div>",
" );",
"};",
"",
"export default $1;"
]
}
```
Gõ "rfc" + Tab → template component xuất hiện. Điền tên vào.
Với snippet, gõ 5 ký tự để có 10 dòng code.
Kỹ năng 4: Multi-cursor
Đây là siêu năng lực. Đa số IDE hỗ trợ multi-cursor.
VS Code:
- Alt + Click: Thêm con trỏ ở vị trí click.
- Cmd/Ctrl + Alt + ↓: Con trỏ xuống dòng dưới.
- Cmd/Ctrl + D: Chọn từ tiếp theo giống nhau (thêm con trỏ).
Ví dụ: bạn có 10 biến `oldName`, muốn đổi thành `newName`. Cmd+D 10 lần → gõ newName → 10 vị trí đổi cùng lúc.
Kỹ năng này tiết kiệm hàng giờ mỗi tuần.
Kỹ năng 5: Vim/Vim mode
Vim là editor cực nhanh. Học Vim có 2 lợi ích:
- Editor Vim/NeoVim rất nhanh.
- Vim mode trong VS Code/JetBrains cho tốc độ tương tự.
Học các lệnh cơ bản:
- h/j/k/l: Di chuyển trái/xuống/lên/phải.
- w/b: Nhảy từ tiếp theo/trước.
- dd: Xóa dòng.
- yy: Copy dòng.
- p: Paste.
- /text: Tìm text.
- i/a: Vào insert mode.
- Esc: Thoát insert mode.
Học Vim mất 2-3 tháng để thành thạo. Nhưng sau đó, tốc độ editing tăng 30-50%.
Bàn phím cho lập trình viên
Bàn phím cơ khuyên dùng vì:
- Phản hồi rõ, ít gõ sai.
- Bền, chịu được gõ nhiều giờ.
- Ergonomic cho tay.
Layout tối ưu:
- 75% hoặc 65%: Đủ phím cần thiết, chuột gần hơn.
- Ergonomic split (Kinesis, Moonlander): Sức khỏe lâu dài.
Switch phù hợp:
- Brown (tactile): Phổ biến nhất, cân bằng.
- Red (linear): Cho ai thích trơn tru.
- Silent switch: Nếu làm việc trong văn phòng chung.
Câu chuyện: mình và tốc độ gõ code
Năm 2019, mình gõ code 45 WPM. Đủ dùng nhưng thường bị "chậm hơn suy nghĩ". Ý tưởng đến nhanh, tay không theo kịp.
Mình quyết định luyện tập:
- 4 tuần luyện ký hiệu chuyên biệt.
- 2 tuần học phím tắt VS Code sâu.
- 3 tháng học Vim mode.
Kết quả sau 6 tháng: 78 WPM khi gõ code. Ý tưởng chảy tự nhiên từ đầu ra màn hình.
Sai lầm phổ biến của developer
Sai lầm 1: Không luyện ký hiệu.
Học viên mình 50% chưa từng luyện gõ `{`, `}`, `[` chuyên biệt. Kết quả: mỗi lần code JavaScript, ngón út tay phải với xa để bấm `[`, mỏi tay.
Sai lầm 2: Dùng chuột quá nhiều.
Nhiều dev vẫn dùng chuột để copy/paste, chọn text, di chuyển. Chuột chậm hơn phím tắt 3-5 lần.
Sai lầm 3: Không đầu tư bàn phím tốt.
Dùng bàn phím laptop 500k trong khi code 8+ giờ/ngày. Đau tay là chắc chắn.
Ba lời khuyên cuối
Lời khuyên 1: Dành 15 phút mỗi ngày luyện gõ ký hiệu trong 1 tháng. Sau đó gõ code nhanh hơn 30%.
Lời khuyên 2: Học phím tắt IDE - mỗi ngày 1 phím tắt mới. Sau 1 tháng bạn có 30 phím tắt trong đầu.
Lời khuyên 3: Thử Vim mode 3 tháng. Nếu không hợp, quay lại bình thường. Nếu hợp, bạn có siêu năng lực.
Kết luận
Gõ code hiệu quả không phải kỹ năng bổ sung - nó là kỹ năng cốt lõi cho lập trình viên. Đầu tư:
1. Luyện ký hiệu chuyên biệt (2 tuần).
2. Học phím tắt IDE (1 tháng).
3. Xây dựng thư viện snippet (liên tục).
4. Thử Vim mode (3 tháng).
5. Bàn phím cơ chất lượng (đầu tư 1 lần).
Với 3-6 tháng đầu tư, năng suất code của bạn tăng 50-100%. So với chi phí, đây là ROI cực cao trong sự nghiệp lập trình.