Đọc source code không hiểu thì cần phải làm gì?

Xin chào mọi người, em muốn tâm sự một xíu về vấn đề đọc source code :smiley:

Em là một newbie, em chỉ mới học qua những kiến thức cơ bản thôi. Trong quá trình học, làm bài thì đôi khi em cũng có tham khảo source code trên mạng để so sánh kết quả và học hỏi để tối ưu thuật toán.

Vấn đề xuất hiện khi mà có những bài thì em hiểu tầm 70-80% mà không cần đọc ghi chú hay giải thích, nhưng có những bài thì em cố đọc mà không hiểu xíu nào luôn ấy ạ :cold_sweat: Cùng 1 bài toán và bản thân em vẫn có thể tự xây dựng một chương trình riêng để giải bài ấy, nhưng em đọc source code trên mang vẫn không hiểu được ý owner đang làm gì á :cold_sweat: , và cũng có những câu lệnh “lạ” so với những gì em đã được học nữa, em tra thì không ra @@

Vậy không biết mọi người ở đây có bao giờ trải qua vấn đề này chưa ạ? Khi mọi người gặp vấn đề này thì mọi người sẽ làm gì để cải thiện ạ? Và mọi người tìm key words cho những “kiến thức lạ” như thế nào nhỉ?

Mong được mọi người góp ý
Em xin cảm ơn ạ!

1 Like

đọc những cái phù hợp với khả năng của bản thân, tự học để nâng cao kiến thức
còn việc việc bạn đọc code của người khác mà không hiểu nó rất là bình thường, có thể là họ tự implement giải thuật nào đó, với những giải thuật nâng cao, hiểu ý tưởng thôi đã khó chứ huống chi phải đọc code để biết ý tưởng
cũng không loại trừ trường hợp code của người đó kém, chỉ làm cho xong, vậy thì phải cố đọc hiểu làm gì

5 Likes

Để maintain đó bạn. Không thiếu dự án phải maintain bằng cách đọc code, mà không phải lúc nào cũng được code đẹp cho mà đọc

5 Likes

Vâng em cảm ơn anh @kisuluoibieng@qloved nhiều ạ. Vậy hai anh và mọi người nghĩ trong quá trình học em có nên phải để ý việc code để người khác dễ đọc không ạ? Hay là em nên cố gắng trau dồi thuật toán trước rồi mới tính đến chuyện dễ đọc ạ? :sweat_smile:

Cái này khó thật.

Mới đầu sẽ có rất, rất nhiều câu lệnh lạ. Bạn cứ thử Google câu lệnh đấy xem, ý nghĩa của nó là gì. Cho câu lệnh đấy vào source mình có chạy được không? Nếu có thì có thể debug hoặc đặt log để xem câu lệnh đấy thay đổi những gì.

Cái này chắc luyện tập nhiều sẽ quen thôi.

Cố gắng lên nhé!

1 Like

Đây là cách mình đã làm và muốn chia sẻ:

  1. Cố gắng tìm những mã nguồn có pattern tốt (framework nhiều người sử dụng, library của những công ty lớn,…)
  2. Đọc documentation để hiểu những kiến thức high-level, bạn có thể chưa hiểu nhưng cần giữ trong đầu những kiến thức này vì khi làm việc lâu dần với codebase, những kiến thức đó gần như là … không thể không có
  3. Đọc comments/docstrings/examples trong những mã nguồn đó ví dụ
  4. Follow những key developer của mã nguồn đó qua Twitter, FB, Youtube, blogs,… để đọc những thứ liên quan
7 Likes

sẽ có lúc phải chấp nhận là code legacy không thể sửa được, từ đó bạn rút kinh nghiệm thôi, thậm chí bạn hãy thử đọc lại code của mình 1 tuần 1 tháng 3 tháng trước, bạn có thể sẽ có cảm giác như đó là code của người khác (bạn của ngày hôm qua)
vì sẽ có lúc như vậy, nên bạn cần cải thiện tại, những chỗ nào phức tạp nên có một cái comment rõ ràng, nhất là những chỗ “trông rất là vô lý” (cố ý, vì business nó phải như vậy)
follow theo style guide, hiện nay có rất nhiều tiêu chuẩn/style guide
các cty và các framework cũng có recommend style guide, cứ đọc và follow theo thôi

8 Likes

Thật sự cảm ơn những lời khuyên và chia sẻ hữu ích từ mọi người nhé!
Em cảm thấy tự tin hơn nhiều chút rồi! :smile:
Hi vọng topic này cũng sẽ hữu ích cho các bạn đang lo lắng giống mình!

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?