# 70: Đọc Code

Lập trình viên chúng ta là những con người kì lạ. Chúng ta yêu thích ❤️️ viết code. Nhưng chúng ta thường e ngại khi phải đọc chúng. Sau cùng thì, việc viết code lúc nào cũng mang lại sự hứng thú hơn so với đọc code, và rất khó để đọc được chúng — đôi lúc việc này là không thể, đặc biệt là đọc code của một người nào đó. Không nhất thiết là do code của họ tệ, có thể họ có tư duy và cách giải quyết vấn đề khác hoàn toàn so với bạn thôi. Nhưng bạn có bao giờ tự nghĩ rằng việc đọc code của người khác sẽ giúp bạn hoàn thiện khả năng của mình hơn không?

Khi bạn đọc code, hãy vừa đọc vừa ngẫm nghĩ một chút. Có phải code rất khó hiểu không ? Nếu vậy thì tại sao ? Có phải do cách định dạng tệ không ? Là do cách đặt tên không thống nhất và phi logic ? Hay là những điều quan trọng bạn quan tâm đều nằm cùng trong một đoạn mã ? Hoặc có lẽ là do việc lựa chọn ngôn ngữ đã khiến bạn không thể đọc được chúng. Hãy thử học hỏi từ lỗi sai của người khác, như thế bạn sẽ không mắc phải những lỗi ấy trong code của bạn. Có thể bạn sẽ bất ngờ. Ví dụ, các kĩ thuật dependency-breaking có thể có ích cho low coupling, nhưng đôi khi chúng sẽ làm cho việc đọc code trở nên khó khăn. Và đó cũng là điều mà vài người gọi là elegant code, số khác gọi là unreadable.

Nếu bạn nghĩ rằng việc đọc code là dễ dàng, hãy dừng lại để tìm kiếm những thứ bạn cho là có ích để học từ nó. Có thể đó là một mẫu mã thiết kế đang được sử dụng mà bạn không biết, hoặc là đã từng được thêm vào để bổ sung. Có lẽ những phương pháp đó sẽ ngắn gọn hơn và tên của chúng thì có nghĩa hơn của bạn. Một vài dự án nguồn mở có rất nhiều ví dụ hữu dụng về cách viết code thông minh, dễ đọc — trong khi các dự án khác lại hoàn toàn có vai trò ngược lại! Bạn hãy xem qua vài đoạn code của họ.

Đọc những bài code cũ của bạn, từ dự án mà bây giờ bạn không thực hiện, cũng là một cách để bạn hoàn thiện và rút kinh nghiệm cho sau này. Hãy bắt đầu với những bài code cũ nhất của bạn và làm việc theo cách của bạn bây giờ. Chắc chắn bạn sẽ nhận ra rằng thật không dễ chút nào để đọc như khi bạn viết nó. Những bài code đầu tiên hẳn sẽ khiến bạn có chút vui vẻ ngượng ngùng, cũng giống như việc bạn bị gợi nhớ về những câu nói của bạn trong lúc say mèm trong quán rượu tối qua. Nhìn xem, kĩ năng của bạn đã được cải thiện qua nhiều năm — và điều này thực sự là một nguồn động lực thúc đẩy bạn. Hãy xem xét những dòng code khó đọc, và suy nghĩ xem liệu bây giờ bạn đã thay đổi cách viết code của mình hay chưa.

Vậy là giờ bạn đã biết bạn cần gì để phát triển kĩ năng lập trình của mình, đừng đọc quyển sách khác. Hãy đọc code.