# 96: Để tâm đến code

Không cần đến Sherlock Holmes để biết rằng các lập trình viên giỏi sẽ viết code tốt.

Lập trình viên kém thì… không. Họ tạo ra những điều quái dị mà chúng ta phải dọn dẹp.

Bạn muốn làm tốt, phải không? Bạn muốn trở thành một lập trình viên giỏi.

Code tốt không tự nhiên xuất hiện từ hư không; cũng không phải nhờ may mắn khi các hành tinh xếp thẳng hàng. Để có được code tốt, bạn phải làm việc chăm chỉ. Và bạn sẽ chỉ có được code tốt khi bạn thực sự chú tâm đến nó.

Khả năng lập trình tốt không được sinh ra từ năng lực kỹ thuật đơn thuần. Tôi đã gặp các lập trình viên có trí thông minh, những người có thể tạo ra những thuật toán mãnh liệt và ấn tượng, những người nắm lòng tiêu chuẩn ngôn ngữ của họ, nhưng lại là những người viết những code tệ nhất. Thật đau đớn khi đọc, sử dụng và sửa đổi. Tôi đã gặp những lập trình viên khiêm tốn hơn, làm việc với những code cơ bản, nhưng chương trình họ viết đầy thanh lịch và biểu cảm. Làm việc cùng họ như thể một niềm vui vậy.

Dựa trên kinh nghiệm nhiều năm trong ngành công nghiệp phần mềm, tôi đã đi đến kết luận rằng sự khác biệt giữa lập trình viên được và lập trình viên tuyệt vời nằm ở thái độ. Lập trình tốt nằm ở cách tiếp cận chuyên nghiệp và mong muốn viết phần mềm tốt nhất có thể, bất chấp những ràng buộc và áp lực từ Thế giới thực của ngành công nghiệp phần mềm.

Code đến địa ngục được trải đầy những ý định tốt. Để trở thành một lập trình viên xuất sắc, bạn phải vượt lên trên cả những ý định tốt và thực sự quan tâm đến code- thúc đẩy những quan điểm tích cực và thái độ lành mạnh. Một code tuyệt vời sẽ được chế tác cẩn thận bởi các nghệ nhân bậc thầy, chứ không phải bị hack bởi các lập trình viên cẩu thả hay dựng lên một cách bí ẩn bởi các bậc thầy mã hóa tự xưng.

Bạn muốn viết code tốt. Bạn muốn trở thành một lập trình viên giỏi. Vì vậy, bạn quan tâm đến code:

  • Trong bất kỳ tình huống mã hóa nào, bạn từ chối hack thứ gì đó chỉ trông có vẻ hoạt động. Bạn cố gắng tạo ra những code chính xác, rõ ràng (và có cả các test để chứng minh độ chính xác).
  • Bạn viết những code mà các lập trình viên khác có thể dễ dàng tiếp nhận và hiểu được, có thể duy trì được (để trong tương lai bạn hoặc các lập trình viên khác sẽ dễ dàng sửa đổi) và chính xác (bạn có thể thực hiện tất cả các bước để xác định rằng bạn đã giải quyết vấn đề, không chỉ làm cho nó trông giống một chương trình đang hoạt động).
  • Bạn phối hợp tốt với các lập trình viên khác. Không có lập trình viên nào là “một hòn đảo”. Rất ít lập trình viên làm việc một mình; hầu hết làm việc theo nhóm trong công ty hoặc trong một dự án open source. Bạn xem xét các lập trình viên khác và xây dựng code mà người khác có thể đọc. Bạn muốn nhóm viết phần mềm tốt nhất có thể, thay vì làm cho bản thân trông thông minh.
  • Bất cứ khi nào bạn tiếp cận một đoạn code, bạn cố gắng khiến nó trở nên tốt hơn lúc bạn tìm thấy (cấu trúc tốt hơn, được kiểm tra tốt hơn, dễ hiểu hơn…).
  • Bạn quan tâm đến code và lập trình, vì vậy bạn không ngừng học hỏi những ngôn ngữ, thành ngữ và kỹ thuật mới. Nhưng bạn chỉ áp dụng khi thích hợp.

May mắn thay, bạn đang đọc tập hợp lời khuyên này vì bạn thực sự để tâm đến code.

Và nó cũng chú ý đến bạn. Đó là đam mê của bạn. Chúc các bạn lập trình vui vẻ. Thưởng thức việc phân tích code để giải quyết những vấn đề khó khăn. Sản xuất những phần mềm khiến bạn tự hào.