Khi code mà bí thì phải làm sao? 5 kinh nghiệm siêu hay để giải quyết vấn đề

Với những bạn đang bắt đầu học lập trình hoặc vừa mới đi làm, đôi khi các bạn sẽ bị… bí, không biết code hoặc giải quyết vấn đề như thế nào (Thật ra mình đi làm lâu rồi nhiều khi cũng bị).

Cảm giác … không biết code như thế nào, không biết giải quyết vấn đề ra sao rất là khó chịu. Gặp nhiều bạn sẽ dễ nản, chán code, chán ngành.

Do vậy, hôm nay mình chia sẻ 5 kinh nghiệm hay ho trị bệnh … bí code, các bạn có thể áp dụng thử nhé! Theo kinh nghiệm của mình thì 96.69% các trường hợp đều áp dụng được và có hiệu quả nha!

1. Google vấn đề để xem người khác giải quyết ra sao

Nói thật, 99% những lỗi bạn gặp khi code, người khác đã gặp rồi, nên chỉ cần Google là sẽ tìm ra được cách giải.

Đa phần các bạn mới học code thường chưa biết nhiều keyword, nên không biết Google thế nào cho đúng. Đây là 1 số kinh nghiệm Google của mình:

  • Tập Google bằng tiếng Anh chứ đừng dùng tiếng Việt
  • Đọc message lỗi, copy message lỗi bỏ vào Google, nhớ bỏ tên biến/tên hàm/tên project ra
  • Ghi rõ ngôn ngữ/công nghệ để search cho dễ (vd “JS remove special character”, “Python connect MongoDB”)
  • Kết quả thường có trên Stackoverflow, hoặc 1 số thread Github

Bạn cũng đừng ngại hay nghĩ mình code dở vì phải Google cách giải 1 bài nào đó. Bản thân mấy ông senior đi làm lâu lâu vẫn Google xem cách làm nào tối ưu nhất, ít code nhất; hoặc quên code phải Google kiếm code để copy vào ấy.

Mấy ông senior/team lead vẫn Google thường xuyên nha =))

2. Tách thành nhiều vấn đề nhỏ hơn cho dễ xử lý

Với các bạn bắt đầu làm đồ án, mới đi làm, các bạn sẽ bị khó khăn khi muốn làm 1 chức năng. Vì chức năng đó lớn quá, chưa có kinh nghiệm các bạn không biết bắt đầu từ đâu cả.

Cách giải quyết cũng khá đơn giản, chỉ cần tách vấn đề ra thành nhiều vấn đề nhỏ hơn là được. Ví dụ bạn muốn làm chức năng đăng nhập:

  • Đăng nhập phải có form để điền username, password. Vậy bạn phải design và code cái form cho người dùng điền 2 cái đó vào.
  • Đăng nhập phải check username, password đã có trong database chưa. Nếu chưa có thì sao. Bạn phải viết code back-end hoặc SQL để check cái này.
  • Làm sao để back-end nhận username, password nhận được từ phía người dùng? Phải viết code trong controller để đọc dữ liệu. Sau đó đưa chúng vào hàm check mật khẩu phía trên
  • Sau khi kiểm tra đúng mật khẩu thì làm gì? Code chức năng cần làm khi đúng mật khẩu (Login, đưa user vào session v…v)

Đấy, khi tách vấn đề thành nhiều vấn đề nhỏ hơn, bạn có thể dễ dàng code từng thứ rồi ghép chúng lại với nhau. Bản thân mình cũng hay dùng to-do list như hình dưới để code, code xong check là được.

Mình cũng hay tách chức năng lớn thành nhiều task nhỏ cho dễ xử lý (chữ hơi xấu hihi)

3. Thử giải quyết vấn đề dễ hơn trước

Nhiều khi, bạn gặp một vấn đề không quá lớn, nhưng lại hơi khó, không biết cách giải quyết ra sao.

Trong trường hợp này, hãy thử giải quyết vấn đề dễ hơn trước. Ví dụ, 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ỉ cho số báo danh, tên họ, ngày tháng năm sinh. Bạn có thể thử giải bài toán dễ hơn:

  • Giả sử ta có tuổi của toàn bộ 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 để có tuổi của sinh viên? Lấy năm hiện tại trừ cho năm sinh là ra.
  • Làm sao để có năm sinh? Dùng hàm nào đó để lấy số năm từ ngày tháng năm sinh trong dữ liệu là được.

Ta có thể suy ngược ra cách giải: Lấy năm hiện tại trừ đi năm sinh của từng sinh viên để có tuổi, sao đó cộng toàn bộ chia cho số sinh viên.

Các bạn thấy không? Chỉ cần thử giải bản dễ hơn, các bạn sẽ dần dần mò ra được cách giải thôi!

4. Đọc lại document, hỏi ý kiến đồng nghiệp

Đi làm, có lúc các bạn sẽ phải dùng framework do công ty/đối tác tự phát triển, mò Google không ra. Hoặc công ty có chuẩn/coding standard gì đó, bạn không biết code theo ra sao.

Lúc này, hãy chịu khó đọc lại kĩ document, coding guideline, code example để xem họ hướng dẫn code ra sao, dùng những hàm nào.

Nếu xui hơn … không có cả document hay unit test để đọc (vì team bị dí quá làm gì có thời gian viết), bạn có thể tranh thủ hỏi sếp, hỏi đồng nghiệp. Do họ đã có kinh nghiệm làm việc với dự án, biết những cách nên làm bạn sẽ đỡ tốn công mày mò nhiều.

Nhớ tìm hiểu kĩ trước khi hỏi, gom hết lại hỏi 1 lượt, chứ đừng hỏi lắt nhắt ảnh hưởng công việc người ta nhé!

Thà chai mặt hỏi đồng nghiệp, còn hơn mò mò code lung tung hỏng code nhé!

5. Đi uống, đi dạo đi ngủ (1 mình)

Trong khi làm việc, hẳn bạn đã từng trải qua cảm giác code hoài không được, chạy bị lỗi không biết tại sao, càng ngồi lâu càng bực mình mà không giải quyết được vấn đề.

Lúc này, cách hay nhất là bạn nên … đứng dậy, gác vấn đề qua một bên. Sau đó đi rót nước uống, làm một cốc cà phê, hoặc đi dạo vòng vòng trong công ty rồi quay lại.

Lúc này, bộ não của bạn sẽ được refresh lại, đôi khi bạn sẽ tự … bật ra cách giải, nhìn ra bạn đã sai chỗ nào! Hoặc có thể đi giải quyết vấn đề khác, sau đó đi ngủ 1 giấc, sáng hôm sau quay lại bỗng dưng não lại nghĩ ra cách giải quyết vấn đề cũ.

Nghe hơi vô lý đúng không nào? Không tin thì các bạn cứ thử xem sao nhé, nếu không hiệu quả cứ lên đây đòi tiền thằng Code Dạo.

Dắt gấu chó, lộn, dắt gấu và chó đi dạo sẽ giúp bạn refresh đầu óc, giải quyết vấn đề nha!

Tạm kết

Đấy, trong bài này, mình đã chia sẻ với các bạn những kinh nghiệm hay ho. Bản thân mình thấy cách 1 và cách 5 là hiệu quả nhất!

Còn bạn thấy cách nào hay ho thì cứ chia sẻ trong mục comment nhé!

One thought on “Khi code mà bí thì phải làm sao? 5 kinh nghiệm siêu hay để giải quyết vấn đề”

  1. Em từng gặp nhiều vấn đề bí quá lên google search mà không có, khi đặt câu hỏi lên stackoverflow thì mọi vấn đề đều được giải quyết.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s