Với những bạn mới bắt đầu học lập trình hoặc mới vào nghề, đôi khi bạn sẽ gặp tình huống... bí, không biết làm sao để viết code hoặc giải quyết vấn đề (Thực ra, tôi làm việc trong lĩnh vực này đã lâu rồi nhưng đôi khi cũng gặp tình huống tương tự).
Cảm giác... không biết làm sao để viết code, không biết cách giải quyết vấn đề thật sự là khó chịu. Đối mặt với tình huống này, nhiều bạn dễ cảm thấy nản lòng, chán nản với việc viết code và cả ngành nghề.
Vì vậy, hôm nay tôi muốn chia sẻ 5 kinh nghiệm hay ho để giúp bạn 'chữa bệnh'... bí code. Hãy thử áp dụng những kinh nghiệm này nhé! Theo kinh nghiệm của tôi, 96.69% trường hợp đều có thể áp dụng và đem lại hiệu quả!
1. Tìm kiếm trên Google để xem người khác đã giải quyết vấn đề như thế nào
Thực tế, 99% những vấn đề bạn gặp phải khi viết code, đã có người gặp và giải quyết trước đó, nên chỉ cần tìm trên Google là bạn có thể tìm ra cách giải quyết.
Hầu hết những người mới học code thường chưa quen với các từ khóa, do đó không biết cách tìm kiếm trên Google một cách hiệu quả. Dưới đây là một số kinh nghiệm của tôi khi sử dụng Google:
Hãy sử dụng Google bằng tiếng Anh thay vì tiếng Việt
Khi gặp phải lỗi, hãy sao chép thông báo lỗi và tìm kiếm trên Google, nhưng nhớ loại bỏ tên biến/hàm/dự án
Ghi rõ ngôn ngữ/công nghệ để tìm kiếm dễ dàng hơn (ví dụ: “JS loại bỏ ký tự đặc biệt”, “Python kết nối MongoDB”)
Kết quả thường xuất hiện trên Stackoverflow hoặc một số trang GitHub
Đừng ngần ngại hay cảm thấy mình kém vì phải tìm kiếm cách giải quyết một bài toán nào đó trên Google. Ngay cả những người đi làm lâu (như senior) cũng thường xuyên tìm kiếm cách làm tối ưu nhất hoặc quên cú pháp và phải tra Google để tìm kiếm
Ngay cả những người senior hoặc team lead cũng thường xuyên sử dụng Google
Nguồn ảnh: toidicodedao.com
2. Phân chia vấn đề thành nhiều phần nhỏ hơn để xử lý dễ dàng hơn
Đối với những bạn mới bắt đầu làm đồ án hoặc mới đi làm, việc muốn tạo ra một chức năng có thể gặp khó khăn. Bởi vì chức năng đó quá lớn, và với ít kinh nghiệm, bạn không biết bắt đầu từ đâu.
Cách giải quyết cũng khá đơn giản, chỉ cần phân chia vấn đề thành nhiều phần nhỏ hơn. Ví dụ, nếu bạn muốn tạo chức năng đăng nhập:
Đăng nhập yêu cầu một form để nhập username, password. Bạn cần thiết kế và viết mã để người dùng có thể nhập thông tin này.
Kiểm tra xem username, password đã tồn tại trong cơ sở dữ liệu chưa. Nếu chưa, thì phải làm gì? Bạn cần viết mã back-end hoặc SQL để kiểm tra điều này.
Làm thế nào để back-end nhận được thông tin username, password từ phía người dùng? Bạn cần viết mã trong controller để nhận dữ liệu này. Sau đó, đưa chúng vào hàm kiểm tra mật khẩu ở bước trên.
Sau khi kiểm tra mật khẩu thành công, thì làm gì tiếp theo? Viết mã cho chức năng cần thực hiện khi mật khẩu đúng (đăng nhập, lưu thông tin user vào session, vv).
danh sách công việc cần làm
3. Thử giải quyết các vấn đề dễ dàng trước
Đôi khi, bạn có thể gặp phải một vấn đề không quá phức tạp, nhưng lại không biết cách giải quyết.
Trong tình huống này, hãy thử xử lý vấn đề đơn giản hơn trước. Ví dụ, nếu bài tập yêu cầu bạn tính tuổi trung bình của sinh viên trong trường.
Tuy nhiên, dữ liệu chỉ cung cấp số thứ tự, tên và ngày sinh của sinh viên. Bạn có thể thử giải quyết bài toán dễ dàng hơn:
Giả sử chúng ta có thông tin về tuổi của tất cả sinh viên trong trường
Tuổi trung bình sẽ bằng tổng số tuổi chia cho số sinh viên
Vậy làm sao để biết tuổi của sinh viên? Đơn giản là lấy năm hiện tại trừ đi năm sinh
Làm thế nào để biết năm sinh? Sử dụng một hàm nào đó để trích xuất năm từ ngày tháng năm sinh trong dữ liệu
Chúng ta có thể suy luận ra cách giải quyết: Lấy năm hiện tại trừ đi năm sinh của từng sinh viên để có tuổi, sau đó cộng lại rồi chia cho số sinh viên.
Các bạn nhận thấy không? Chỉ cần thử giải bản đơn giản hơn, các bạn sẽ dần dần tìm ra cách giải đúng thôi!
4. Đọc tài liệu và thảo luận với đồng nghiệp
Nguồn ảnh: careerbuilder.vn
Trong quá trình làm việc, có thời điểm bạn sẽ phải sử dụng framework do công ty hoặc đối tác tự phát triển, và không thể tìm thấy thông tin trên Google. Hoặc công ty có chuẩn/coding standard mà bạn không biết cách thực hiện.
Lúc đó, hãy dành thời gian đọc kỹ tài liệu, hướng dẫn viết code, và các ví dụ code để hiểu cách họ triển khai code ra sao, sử dụng những hàm nào.
Nếu rơi vào tình huống không có tài liệu hoặc unit test để tham khảo (do nhóm công việc quá tải không có thời gian viết), bạn có thể hỏi ý kiến của sếp hoặc đồng nghiệp. Họ đã có kinh nghiệm làm việc với dự án và biết những cách làm hiệu quả, giúp bạn tiết kiệm thời gian mò mẫm nhiều.
Nhớ tìm hiểu kỹ trước khi hỏi, tổng hợp hết các câu hỏi để chỉ hỏi một lần, tránh việc làm phiền đồng nghiệp!
5. Dành thời gian cho bản thân (uống nước, đi dạo, ngủ)
Trong quá trình làm việc, chắc hẳn bạn đã trải qua cảm giác mãi mà code không được, gặp lỗi không biết nguyên nhân, ngồi càng lâu càng căng thẳng mà vẫn không giải quyết được vấn đề.
Lúc này, phương pháp tốt nhất là đứng dậy, tạm thời bỏ qua vấn đề đó. Sau đó đi lấy nước uống, pha một cốc cà phê, hoặc đi dạo quanh công ty rồi trở lại.
Khi đó, tâm trí bạn sẽ được làm mới, đôi khi ý tưởng giải pháp sẽ tự nảy ra, bạn sẽ nhận ra lỗi mình đã mắc phải! Hoặc có thể đi giải quyết một vấn đề khác, sau đó đi ngủ một giấc, vào sáng hôm sau bạn sẽ bất ngờ nảy ra cách giải quyết vấn đề cũ.
Có vẻ hơi kì lạ phải không? Nhưng hãy thử xem, nếu không hiệu quả, hãy đến đây đòi tiền từ thằng Code Dạo.
Dắt chó ra ngoài, lộn, hoặc đơn giản là đi dạo với chó sẽ giúp bạn làm mới tinh thần, giải quyết vấn đề một cách hiệu quả!
Nguồn ảnh: toidicodedao.com
Ở đây, mình đã chia sẻ với các bạn những kinh nghiệm hữu ích nhất. Theo ý kiến cá nhân của mình, phương pháp 1 và phương pháp 5 là những phương pháp mang lại hiệu quả nhất!