Gặp khó khăn khi viết code thì phải làm sao?

Có khá nhiều bạn than thở với mình rằng “ngành này khó quá”, hoặc  “em gặp nhiều khó khăn khi viết code, làm bài tập mà bị bí.”

Tự ngẫm lại, thời mình mới học lập trình, mình cũng từng nhiều lần cắn răng lưỡi vì ngồi làm không ra bài tập, hoặc đọc đi đọc lại nhiều lần mà vẫn không hiểu code chạy như thế nào!

Do vậy, mình viết bài này để chia sẻ những việc bạn nên làm khi gặp khó khăn lúc viết code nhé. Hi vọng chúng sẽ giúp bạn vượt qua những trở ngại ban đầu của việc học lập trình.

Trong bài này, mình chia sẻ những việc bạn có thể làm khi:

  1. Không biết bắt đầu viết code như thế nào
  2. Viết code nhưng code bị lỗi hoặc không chạy được
  3. Viết code chạy được nhưng bị execption hoặc bị lỗi
  4. Khi bí quá phải lên mạng hỏi thì hỏi như thế nào

Khi gặp vấn đề, ko viết được code

Rất nhiều bạn mới học lập trình/mới đi làm gặp phải tình trạng này, đó là khi gặp một bài toán/một chức năng, các bạn không biết bắt đầu từ đâu, viết code như thế nào cả?

Bản thân mình thì không gặp cảnh này khi đi làm, nhưng những lúc học hay làm thử những bài hóc búa về thuật toán cũng hay “vò đầu bứt tai”, không biết phải bắt đầu ra sao!

Những kinh nghiệm của mình để vượt qua tình cảnh này là:

  • Trước khi code hãy xác định cho rõ vấn đề, input-output của nó là gì
  • Tách vấn đề ra thành những vấn đề nhỏ hơn, sau đó giải quyết từng vấn đề một
  • Với những vấn đề quá khó hoặc phức tạp, hãy tham khảo cách người khác giải quyết về đề đó.
Hãy tách vấn đề thành những vấn đề nhỏ hơn

Giả sử khi bạn được yêu cầu viết chức năng login, các bạn có thể giải quyết như sau:

  • Xác định rõ input là hiện form login cho người dùng và lấy username/password. Output là người dùng đăng nhập thành công vào hệ thống.
  • Tách thành các vấn đề nhỏ hơn: Tạo giao diện trang login, viết hàm check username/password ở phía back-end, viết query/tạo bảng dưới database
  • Giải quyết từng vấn đề một, phần nào khó thì tham khảo bên ngoài, sau đó ghép lại

Xong bước này, các bạn sẽ biết nên bắt đầu viết code ra sao, cần giải quyết vấn đề gì! Tiếp theo, có thể bạn sẽ gặp khó khăn ở việc: Viết code được nhưng code bị sai, không chạy được!

Khi code bị lỗi hoặc không chạy được

Thông thường, code không chạy được là do các bạn thiếu dấu đóng mở ngoặc, quên chấm phẩy v..v.

Đa phần những lỗi này xảy ra là do bạn chưa quen với syntax của ngôn ngữ đó. Chỉ cần chịu khó viết code nhiều, mắc lỗi nhiều lần là các bạn sẽ tự luyện thành thói quen viết code đúng:

  • Mở ngoặc phải có đóng ngoặc
  • Cuối câu phải thêm ;
  • Sử dụng == hoặc  === thay cho =

Trong ngôn ngữ C# hoặc Java, đôi khi code không build được là do các bạn dùng sai class, sai object, chỉ cần đọc kĩ document về input/output các hàm là được ngay.

Hiện tại, các IDE cũng khá là xịn, có thể bắt lỗi trong code của bạn. Do vậy, chỉ cần nhìn vào message lỗi để sửa thôi. Nếu không tự sửa được thì cứ copy message lỗi vào Google, xem mấy câu trả lời trên stackoverflow là xong. 90% lỗi có thể được giải quyết.

Các IDE xịn sẽ báo cho bạn biết lỗi ở dòng code nào

Khi code chạy sai (có bug)

Khó khăn hay gặp nhất khi viết code là viết code được, chạy được nhưng lại … chạy sai be bét (còn hay gọi là có bug). Khó khăn này thì từ junior developer tới senior developer đều mắc phải cả!

Có rất nhiều cách để debug, đây là những cách mình hay dùng và thấy hiệu quả:

  • Đầu tiên phải tìm cách reproduce được bug, tìm cách để chạy chương trình sao cho lòi ra lỗi sai, thì mình mới sửa được.
  • Chạy từng hàm nhỏ riêng lẻ, kiểm tra input/output từng hàm, để xem hàm nào chạy sai. Việc này giúp bạn dễ xác định nguyên nhân gây lỗi hơn
  • Với các chương trình phức tạp, sử dụng logging để in ra trạng thái của chương trình cho dễ kiểm tra
  • Tập sử dụng debugger, ta có thể chạy từng dòng code, kiểm tra các biến thay đổi ra sao sau khi code chạy.
Tập viết test case, sử dụng logging sẽ giúp bạn tìm ra lỗi dễ hơn

Nói thì đơn giản vậy thôi chứ bản thân việc tìm và sửa bug là một nghệ thuật, làm càng lâu bạn sẽ có nhiều kinh nghiệm hơn.

Đôi khi lỗi nằm tít tận trong thư viện, framework hoặc do config của “thằng đồng nghiệp cà chớn” trong team nữa.

Bạn cũng có thể đọc lại 1 bài viết khác về Cách trở thành cao thủ fix bug nhé!

Khi bí quá phải đi hỏi??

Sẽ có những lúc bạn tìm đọc code, lục document hoài cũng không thấy cách fix lỗi. Lúc này, đôi khi đi hỏi, nhờ vả người khác (đồng nghiệp, trên mạng) cũng là một cách thức hợp lý để giải quyết vấn đề.

Tuy vậy, các bạn lập trình dziên/sinh dziên Việt Nam rất thích đi hỏi … bài tập, hỏi mấy cái nhỏ nhặt lung tung. Cách hỏi và thái độ hỏi khiến nhiều người bực mình, không muốn trả lời.

Vậy hỏi như thế nào cho nó pờ-rồ và văn minh. Cũng không khó lắm đâu:

  • Trước khi hỏi, hãy thử tìm hướng giải quyết bằng cách tra Googe, đọc document, xem Github, tìm Stackoverflow trước.
  • Nêu rõ vấn đề mình cần hỏi: Em muốn kết quả là A nhưng chương trình chạy ra B. Đừng hòi trống huơ kiểu “Giúp em!!” hoặc “Code không chạy phải làm sao??”
  • Tìm cách cô lập vấn đề, đăng đoạn code nhỏ gây lỗi lên chứ đừng quăng toàn bộ source code.
  • Chứng tỏ mình đã bỏ thời gian tìm hiểu, tự tìm cách giải quyết trước khi đi hỏi “Em đã thử cách C, D, E nhưng không được.”

Bản thân việc hỏi cũng không có gì là xấu cả! Stackoverflow lớn như vậy cũng nhờ cộng đồng developer chịu khó hỏi và trả lời.

Bản thân mình cũng hay hỏi và trả lời trên stackoverflow nhé

Tuy nhiên, để tránh làm phiền người khác, hãy chịu khó Google tìm hiểu trước. Hạn chế việc hỏi lung tung, nó sẽ làm cho bạn thói quen ý lại đấy!

Tạm kết

Hi vọng những chia sẻ trong này này sẽ giúp các bạn thêm tự tin, thêm kiến thức để vượt qua những khó khăn khi viết code.

Bên cạnh sự bực bội, cay cú khi code không chạy; bạn cũng sẽ cảm nhận được cảm giác thoải mái, tự hào khi hoàn thành một chức năng, fix được một con bug … khủng.

Bản thân bạn thì sao? Bạn có kinh nghiệm để vượt qua những khó khăn gặp phải khi viết code không? Nhớ chia sẻ trong mục comment nhé.

 

P/S: Để theo dõi bài viết trên Tôi Đi Code Dạo, nhớ Subscribe Chat Bot của tụi mình nha. Bot của Code Dạo sẽ gửi bạn những bài viết cực kì hay ho về kĩ năng mềm và cứng, kinh nghiệm trong ngành vào thứ 4 hàng tuần nhé!

Đăng ký bài viết

 

P/S 2: Bạn nào muốn nghe giọng và ngắm gương mặt điển trai của mình thì cứ xem vlog của mình về vấn đề này nhé!

Advertisements

4 thoughts on “Gặp khó khăn khi viết code thì phải làm sao?”

  1. “Đầu tiên phải tìm cách reproduce được bug, tìm cách để chạy chương trình sao cho lòi ra lỗi sai, thì mình mới sửa được.”

    Trong đời lờ tờ vờ của mình mà nói, loại bug ko thể reproduce là loại bug chán đời, khó nhai, và tốn công nhất. Đôi khi phải chọn cách ngoảnh mặt làm ngơ. Nhất là đối với loại random, thỉnh thoảng mới xuất hiện…

    Like

  2. Em cũng từng gặp lỗi về char trong C++, xuất toàn chứa giá trị rác ở đuôi, sau khi đọc kĩ về char thì nên khai báo giá trị rỗng khi khái báo char.

    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