Gõ mười ngón cho lập trình viên: Vì sao tốc độ code không chỉ là WPM
Người gõ nhanh vẫn có thể là người code chậm
Đây là một bất ngờ phổ biến: ai đó đạt hơn 90 WPM trên các từ tiếng Anh thuần ngồi xuống viết code và cảm thấy chẳng nhanh hơn người gõ 50 WPM. Lý do đơn giản — một bài kiểm tra gõ tiêu chuẩn gần như toàn chữ thường và dấu cách. Code thì không. Một dòng JavaScript hay Python điển hình đầy những ký tự mà bài kiểm tra theo từ hầu như không chạm tới: ngoặc, ngoặc đơn, gạch dưới, dấu nháy, dấu bằng, dấu hai chấm — cộng việc liên tục đổi giữa chữ thường và chữ hoa cho camelCase, và với tới hàng số để lấy ký hiệu.
Mỗi thứ đó là một độ trễ nhỏ. Nhân với hàng nghìn dòng mỗi tuần, nó cộng lại thành một khoảng cách thật giữa “người gõ nhanh” và “người code nhanh”.
Những ký tự thực sự làm bạn chậm
- Ngoặc và ngoặc nhọn —
()[]{}— nằm ở rìa hàng trên, vụng về với ngón út vốn hiếm khi tới đó trong văn xuôi thông thường. - Ký hiệu nặng Shift —
_=+:"— đòi hỏi giữ một phím bổ trợ, một chuyển động khác với gõ một chữ cái thường. - camelCase và snake_case — những lần đổi hoa-thường nhỏ liên tục (hoặc với gạch dưới) mà bài kiểm tra gõ từ thuần không bao giờ rèn.
- Thụt lề — hai hoặc bốn dấu cách đầu mỗi dòng, gõ đúng và nhất quán, điều mà một đoạn từ trôi chảy không bao giờ yêu cầu bạn làm.
Không cái nào khó nếu xét riêng. Thứ còn thiếu là sự lặp lại — hầu hết mọi người đơn giản chưa bao giờ rèn chúng như đã rèn bảng chữ cái ở trường. Lập trình viên Việt còn có lợi thế: khi viết code, bạn thường tắt bộ gõ tiếng Việt hoặc chuyển sang tiếng Anh, nên hãy luyện cả việc đổi qua lại đó cho nhanh.
Vì sao bài kiểm tra gõ thông thường không sửa được điều này
Các bài kiểm tra theo từ lấy từ một kho từ thông dụng — hữu ích cho tốc độ thô và độ chính xác, nhưng các kho từ này, theo thiết kế, chủ yếu là văn bản thường thuần. Bạn có thể đạt WPM tối đa trên một bài như vậy mà vẫn lóng ngóng mỗi khi gõ !== hay với tới một ngoặc đóng ở ba dòng sau. Kỹ năng đó thật sự khác, và cần luyện riêng.
Luyện gõ code một cách riêng biệt
Đây chính là khoảng trống mà game Code Typing được xây dựng cho — nó lấy các dòng JavaScript và Python thật, không phải từ ngẫu nhiên, và phân biệt chữ hoa chữ thường cùng khoảng trắng như một trình soạn thảo thật. Vài cách để tận dụng tối đa nó:
- Đừng bỏ qua thụt lề. Các khoảng trắng đầu dòng là một phần của dòng và một phần của bài tập — gõ chúng đúng, mỗi lần, là một nửa mục đích.
- Đọc trước khi gõ. Code có những hình dạng dễ đoán — một
(gần như luôn kéo theo một)sắp tới, một{kéo theo một}. Đoán trước chúng giảm những khoảng dừng nhỏ cộng dồn lại. - Để ngón út học các rìa bàn phím. Ngoặc và ký hiệu tụ ở rìa xa của các hàng trên; luyện có chủ ý là thứ chuyển chúng từ “đi tìm” sang trí nhớ cơ bắp.
- Luyện cả hai ngôn ngữ nếu bạn dùng cả hai. Phong cách dấu hai chấm và thụt lề của Python với phong cách ngoặc nhọn và dấu chấm phẩy của JavaScript rèn những phản xạ hơi khác nhau.
Nó cộng dồn với nền tảng
Luyện ký hiệu hiệu quả nhất trên nền tảng vững — nếu bạn vẫn đang đi tìm các phím chữ cái, hãy bắt đầu với các bài học gõ mười ngón trước, gồm cả bài học ký hiệu lập trình riêng bao phủ ngoặc nhọn, ngoặc vuông và toán tử so sánh. Khi nền tảng đã tự động, luyện riêng cho code là thứ lấp phần còn lại của khoảng cách giữa điểm WPM của bạn và cảm giác bạn viết code thật nhanh đến đâu.