Qua quá trình làm việc và hướng dẫn cho nhiều bạn lập trình viên mới, mình nhận thấy hầu như các bạn đều bị thiếu các kĩ năng siêu siêu “mềm” dưới đây, mà chỉ cần cải thiện được thì sẽ tiến bộ rất nhanh
Kĩ năng Google
Google có thể có tìm thấy tất cả, tìm thấy sai tè le, hoặc chẳng tìm thấy gì. Tất cả phụ thuộc vào 2 từ: Từ khóa
Đã ai từng tìm như thế này trên Google chưa?
Làm thế nào để xử lý nút trên android
Chạy hiệu ứng chớp tắt mờ dần trên web
How to run an animation on a view from top left to bottom right bla..bla….
Tưởng search Google là dễ, thật ra không biết cách tìm thì còn lâu mới ra
Có thể dễ dàng tìm được nhiều bài viết hướng dẫn về các thủ thuật tìm kiếm hiệu quả trên Google Search. Ví dụ tại đây
Riêng cho Developer, mình có 1 số cách sau:
- Thêm từ khóa giới hạn phạm vi kiến thức muốn tìm ngay đầu tiên
- Theo sau là nội dung cần tìm – ngắn gọn, dễ hiểu
- Đối với developer, đặc biệt ưu tiên tìm bằng tiếng Anh
- Khi tìm không thấy kết quả mong muốn, hãy dùng những từ đồng nghĩa khác. Ví dụ: animation/ transition/ effect có thể thay cho nhau tùy trường hợp, layout/ page/ UI/ render…
- Tìm tên lỗi, kèm 1 đoạn mô tả lỗi ngắn trong log ra (đừng copy hết log đi tìm).
Nếu không tìm thấy kết quả mong muốn thì kèm thêm vài từ mô tả trường hợp đã xảy ra
Ví dụ:
android setup multi module project
python call api
IllegalStateException Invalid context
IllegalStateException Invalid context show Toast from service
Chọn đúng từ khóa để tìm kiếm là kĩ năng cần thời gian thử-sai, sự kiên nhẫn và sự rèn luyện nhất định.
Debug
Nhiều bạn mất rất nhiều thời gian dò lỗi, thậm chí mất cả ngày mà chẳng tìm được manh mối nào để sửa. Đa phần đó là không có phương pháp đúng. Ngồi “nhìn” code, gãi đầu, suy nghĩ, scroll lên scroll xuống, hay ngồi đọc code trong vô vọng sẽ không thể giải quyết vấn đề
Từ junior tới senior ai cũng phải debug, và PHẢI nghĩ tới debug ngay khi không thể dò lỗi thông qua đọc logic thông thường, vì đó là bước cơ bản nhất
Đặt breakpoint sai chỗ thì cũng như không debug
Thử ví dụ với đoạn code đọc file đơn giản sau:
Một ngày bạn tự hỏi tại sao hàm này lại trả ra kết quả sai, đoán nghĩ là nó sai ở chỗ đọc nội dung nên đặt “đại” breakpoint tại dòng 99 để xem nó đọc file này thế nào
Xong mất cả buổi không hiểu sao breakpoint không thấy nhảy tới, chuyển qua dò những chỗ khác. Rồi cảm thấy bất lực, rồi trầm cảm, muốn đổi nghề…
Sao không dời breakpoint lên ngay từ đầu? Nó đã dính NotFoundException ngay từ dòng 93 và bay xuống dòng 106 rồi, lấy đâu debug được dòng 99
Debug cũng là kĩ năng cần kinh nghiệm và rèn luyện
Còn tiếp
Like nhiệt liệt và mong có nhiều bài viết giá trị nữa ạ!