6 lý do tại sao bạn nên rèn luyện việc đọc code

17 tháng 3, 2021 By DEVERA ACADEMY

Đối với một lập trình viên, viết code luôn là khả năng chiếm vị trí ưu tiên hàng đầu. Nhưng nếu chỉ luyện tập viết code, thì sẽ rất khó để bạn có thể trở thành một lập trình viên giỏi. Khi tham gia vào các dự án mà bạn không phải là người xây dựng từ đầu thì việc thay đổi toàn bộ source code theo cách của bạn là một vấn đề nan giải. Vì vậy, thay vì coding lại, bạn hãy luyện tập khả năng đọc code của mình.


Nếu chỉ là một người bình thường, bạn vẫn có thể viết code được bằng mọi ngôn ngữ lập trình theo “phương pháp Ctrl+C/Ctrl+V” hoặc xem những video hướng dẫn. Tuy nhiên, việc trình bày được ý nghĩa của đoạn code, hiểu suy nghĩ của người viết hoặc tìm và giải quyết những vấn đề bên trong thì không phải bất cứ ai cũng làm được.


Cũng như khi bạn đọc một cuốn sách, một cuốn tiểu thuyết bạn rất dễ để có suy nghĩ thêm vào đó một vài tình tiết, một vài ý tưởng. Bởi khi đó bạn hiểu được câu chuyện, hiểu được cách mà tác giả xây dựng, trí tưởng tượng của bạn cũng theo đó được bứt phá, vượt qua những giới hạn - những điều bạn chưa bao giờ nghĩ đến. 


Bạn luôn có thể cải thiện khả năng ngôn từ của mình sau khi đọc một cuốn sách, việc thuần thục cách sử dụng của một từ đã từng rất lạ lẫm, gia tăng vốn từ vựng, chính là nền tảng để bạn tự do đắm chìm vào sức tưởng tượng của bản thân trong những cuốn sách sẽ đọc sau này, mà không cần suy ngẫm về ngữ nghĩa. Và, coding cũng tương tự như thế.


Việc đọc code cho bạn góc nhìn của một lập trình viên khác, nếu bạn tìm thấy giới hạn tầm nhìn của bản thân - đó chính là bước tiến. Vậy nên, trở thành một lập trình viên giỏi việc đọc code cũng không kém phần quan trọng. Dưới đây là chi tiết hơn về 6 lý do tại sao bạn nên rèn luyện việc đọc code.


1. Ngăn bạn rơi vào sự lặp lại

“Don’t repeat yourself”. Quan điểm này đã được biết đến từ lâu nhưng nó chính thức được đề cập đến trong cuốn sách The Pragmatic Programmer của Andy Hunt và Dave Thomas và năm 2000.


Sự hạn chế về kiến thức khiến bạn phải lặp đi lặp lại những phương pháp đã biết mỗi khi viết code bởi nó giúp bạn tiết kiệm thời gian khi giải quyết vấn đề. Nhưng bằng cách đọc code của những lập trình viên khác bạn mới tiếp cận được với nhiều phương pháp mà có thể bạn chưa biết.


Mọi người thường xem nhẹ và bỏ qua việc đọc code bởi nó phức tạp và tốn thời gian hơn so với viết code theo quán tính, theo những gì mình đã được biết, đó là do cái tôi quá lớn hay việc này quá khó khăn?


Thực sự rất khó để bạn làm quen với việc đọc code nhưng khi bạn hiểu được tư duy logic của những lập trình viên khác, bạn sẽ học hỏi được rất nhiều điều hữu ích, học được các kỹ thuật lập trình khác nhau và tránh được sự trùng lặp trong việc lập trình. Hãy nghĩ đến một ngày nào đó phương pháp bấy lâu nay bạn vận hành một cách trơn tru bỗng gặp một rắc rối, và bạn sẽ …?


2. Giúp bạn viết clean code

“So if you want to go fast, if you want to get done quickly, if you want your code to be easy to write, make it easy to read.” — Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship


Một điều không thể phủ nhận đó là muốn dễ để đọc được code thì code cũng cần phải dễ để đọc được. Thật khó để bạn phân tích và tiếp tục phát triển một project được code một cách phức tạp. 


Đọc được một đoạn code lộn xộn bạn hoàn toàn có thể giúp nó trở nên tốt hơn, không cần phải là “the best code” chỉ cần là “better code”, đặt suy nghĩ của bạn vào đoạn code đó và biến nó thành một phiên bản “well-written code” của chính nó. Đây cũng là cách giúp bạn tiến bộ trong việc code clean.

Bạn có thể học được từ những đoạn code tệ những điều cần tránh, học được từ những đoạn code tốt những điều mình nên làm. Trong mọi trường hợp, đọc code sẽ giúp bạn cải thiện chất lượng code của mình

3. Tạo sự khác biệt bằng trí thông minh phân tích của bạn

Ngôn ngữ lập trình không tạo nên các câu bởi: nó là toán học. Nó tạo nên các hàm, có các phép gán giá trị và các phép tính toán. Vì thế, bạn không thể tìm các thành phần trong câu để giúp bạn hiểu toàn bộ chương trình, bạn phải có khả năng phân tích.


Một người có kỹ năng phân tích tốt thường tự đặt ra nhiều câu hỏi và nghiên cứu về nó bất kể đó là những vấn đề đã được chấp nhận. Đối với họ sự hiển nhiên đó còn phụ thuộc vào địa điểm, thời gian và cả hoàn cảnh của người đưa ra ý kiến. Kỹ năng tư duy phân tích luôn cho ta một giải pháp tốt trong các vấn đề gặp phải trong cuộc sống thường nhật. Khi bạn đánh giá được nguyên nhân, kết quả, các giải pháp có thể có và những vấn đề nhỏ phát sinh bên trong thì bạn hoàn toàn có khả năng loại trừ tất cả.


Nghiên cứu code của người khác và cố gắng hiểu được nó sẽ giúp bạn cải thiện trí thông minh phân tích của mình trong việc lập trình. Vì khi đọc code, muốn hiểu được hệ thống đó hoạt động như thế nào thì nó đòi hỏi bạn phải suy nghĩ và đưa ra được kết quả từ tư duy logic.

4. Tìm được câu trả lời cho những vấn đề khó nhằn

Bạn có thể sẽ gặp phải những vấn đề mà ngay cả tìm kiếm trên Internet cũng không thể giúp bạn. Lúc đó, bạn có thể hỏi và tham khảo ý kiến từ những senior developer hoặc là nhờ đến sự giúp đỡ của những diễn đàn hoặc cộng đồng học tập trên mạng, những người đã có ít nhiều kinh nghiệm.

Việc trở thành một Developer luôn đi đôi với quá trình tích lũy kinh nghiệm. Đọc code sẽ giúp bạn hiểu được các giải pháp mà một lập trình viên dày dặn kinh nghiệm xử lý vấn đề đó. Vì thế, để trở thành một lập trình viên giỏi thì không nên chỉ biết viết code.

5. Học cách Debug

Bạn có thể học những gì bạn chưa biết bằng cách quan sát hoặc đọc thêm thông tin, điều đó cũng đúng với việc coding. Nhưng làm sao bạn giải quyết được vấn đề gặp phải trong lúc code? Ngoài việc viết code tốt thì bạn cũng cần có khả năng debug - khả năng này cần được rèn luyện thông qua thực hành. Việc sửa đổi và debug trên code của người khác sẽ giúp bạn rất nhiều trong việc luyện tập khả năng debug và nắm được cách mà chương trình hoạt động.

“Programming allows you to think about thinking, and while debugging you learn learning.” — Nicholas Negroponte

6. Đọc source code nhanh hơn

Đọc hiểu source code là một phần không thể thiếu khi thực hiện bất kỳ một dự án nào. Đối với một software engineer, hiểu được code và có những phản hồi tích cực là một khả năng tuyệt vời. Một Developer nhiều kinh nghiệm luôn thể hiện tốt hơn về kỹ năng này bởi họ đã quá quen với cấu trúc của những package. Đó là một điểm cộng lớn cho sự đóng góp của bạn trong dự án hoặc trong tổ chức mà bạn đang làm việc.


Kết luận

Tóm lại, theo thời gian bạn cũng sẽ tự tìm được cho mình phương pháp học tập, sự hiểu biết và phong cách học tập của mỗi người là khác nhau. Nhưng nền tảng của việc trở thành một developer vẫn là thực hành và hơn nữa đó là có được thói quen đọc code.

Hãy tự đặt câu hỏi trong khi đang dọc code, đọc nhiều sẽ giúp bạn trả lời được  hầu hết những thắc mắc của bạn, cũng giống như việc bạn đọc sách. GitHub có hàng ngàn hàng tỷ dòng code để bạn có thể luyện tập, xem xét những lý do khiến bạn cảm thấy rằng đoạn code thật khó hiểu. Thời gian và sự tập luyện có thể giúp bạn chinh phục hầu hết mọi thứ trong vũ trụ.


Tác giả: Nazlican Kurt

Dịch bởi Devera Academy