Bất cứ lập trình viên nào cũng đều có những thói quen của riêng mình, cả tốt lẫn xấu. Nhưng khi bạn bắt đầu áp dụng các thói quen lập trình phù hợp, bạn có thể làm việc hiệu quả hơn rất nhiều. Những thói quen tốt này không chỉ ảnh hưởng đến bản thân bạn mà còn có thể tác động đến những đồng nghiệp xung quanh.

Denis Waitley, nhà truyền cảm hứng người Mỹ, từng nói: “Có một sự thật là, bạn không hề từ bỏ một thói quen xấu; bạn chỉ thay thế nó bằng một điều tốt hơn”. Vì vậy, đó là lý do tại sao chúng ta đề cập đến danh sách bảy thói quen lập trình mà mà nếu áp dụng sẽ giúp bạn trở thành một lập trình viên giỏi hơn.

1. Không đi theo lề lối cũ

 Chắc chắn rằng có nhiều lần bạn nhìn vào một đoạn code và nghĩ “Chà … hình như đoạn code này trông giống như một số code mà mình đã từng viết”.

Điều này nghe có vẻ khá quen thuộc. Bởi vì đó chính là tình huống mà bạn muốn né tránh. Code trùng lặp (Duplicate code) làm cho toàn bộ code trở nên rất tệ. Chương trình trở nên khó duy trì hơn vì đoạn code này cần được chỉnh sửa ở nhiều chỗ. Và điều này dễ dẫn đến sai sót.

Do đó, tốt hơn hết là tuân theo nguyên tắc DRY (Don’t Repeat Yourself – Đừng lặp lại chính mình). Điều này có nghĩa là một khi bạn bắt đầu lặp lại cùng đoạn code, có lẽ bạn nên tái cấu trúc (refactor) đoạn code của mình. Hãy chia code thành các đơn vị nhỏ hơn và gọi ra khi cần.

2. Tái cấu trúc (Refactor) code

Hầu hết các lập trình viên, đặc biệt là những người không có nhiều kinh nghiệm, đều nghĩ rằng phần công việc của họ đã hoàn thành một khi code của họ chạy được như dự tính. Tuy nhiên, “Hoàn tất” bao gồm nhiều thứ hơn là chỉ viết một đoạn code cho một tính năng nào đó.

Code hoạt động có vẻ ổn.  Vậy vấn đề ở đây là gì?

Code chạy ổn và bạn đúng. Nhưng trước khi chuyển sang nhiệm vụ tiếp theo, bạn nên tái cấu trúc code, hay theo thuật ngữ chuyên ngành là refactor code của mình. Tái cấu trúc sẽ làm code của bạn dễ đọc hơn. Bạn là tác giả đoạn code và thấy nó rõ ràng nhưng các lập trình viên khác sẽ cảm thấy thế nào nếu họ xem đoạn code đó? Hãy suy nghĩ về điều này.

Tái cấu trúc cũng có thể giúp giảm độ phức tạp của code, giúp việc duy trì dễ dàng hơn về sau. Về lâu dài, việc tái cấu trúc code rất có giá trị.

Định nghĩa về tái cấu trúc code

Định nghĩa về tái cấu trúc (refactoring) code

3. Đừng chỉ tập trung vào kỹ thuật

 Hầu hết các lập trình viên có xu hướng tập trung nhiều công nghệ mà lơ là các quy trình nghiệp vụ. Trên hành trình trở thành chuyên gia công nghệ, điều quan trọng là phải luôn có tư duy kinh doanh. Hãy tự hỏi: tại sao bạn phải viết đoạn mã này? Chương trình phục vụ quy trình nghiệp vụ gì và vì mục đích gì?

Một số developer chỉ quan tâm đến các khía cạnh kỹ thuật trong công việc. Họ không quan tâm đến các quy trình kinh doanh hoặc các yếu tố kinh tế tạo ra công việc cho họ.

Vây những việc bạn làm có thực sự mang lại giá trị cho doanh nghiệp hay bạn đang dành quá nhiều thời gian cho những việc không thực sự ý nghĩa? Đó là một câu hỏi quan trọng để tự hỏi chính mình.

4. Tạo các commit nhỏ

Những commit nhỏ giúp developer có thể mô tả những thay đổi một cách dễ dàng. Nếu bạn chỉ có một commit message kiểu ‘đã khắc phục một số vấn đề’ thì rõ ràng nó không mang lại thông tin gì giá trị cả.  Đoạn code của bạn cũng dễ dàng gỡ lỗi hơn khi bạn bắt đầu tạo ra các commit nhỏ. Thật dễ dàng để quay trở lại một commit trước đó để kiểm tra xem lỗi đã được nhắc đến trong commit đó hay chưa. Với việc tạo các commit nhỏ Khi bạn đã tìm thấy commit có chứa lỗi được đề cập tới thì không có nhiều đoạn code có thể gây ra lỗi này.

Những commit lớn có thể để lại nhiều hậu quả. Bởi vì đã có rất nhiều thứ thay đổi trong commit này nên không rõ những gì đã thực sự thay đổi. Việc đánh giá code (code review) cũng sẽ khó khăn hơn. Người đánh giá code cũng sẽ ngại việc hợp nhất code vì có quá nhiều thứ để hợp nhất và chúng có khả năng làm hỏng đoạn code. Việc đánh giá code sẽ trở nên dễ dàng hơn nhiều với các commit nhỏ. Điều này giúp dễ hiểu và tạo thuận lợi cho việc kiểm tra từng thay đổi.

5. Tính nhất quán chính là điều cốt lõi

Nếu bạn đã quyết định áp dụng một chuẩn đặt tên, ví dụ camelCase cho các biến của mình, hãy nhất quán với nó. Bạn muốn sử dụng khoảng cách thay vì sử dụng nút tab? Được hết. Bất cứ điều gì bạn đang thực hiện trong code của bạn, ít nhất là bạn hãy làm điều đó một cách nhất quán. Sự không nhất quán qua thời gian sẽ góp phần phá hỏng phần mềm. Một phần mềm tồn tại càng lâu và càng có nhiều người thao tác trên nó, thì sự rối rắm càng xuất hiện nhiều hơn.

Vậy bạn có thể làm gì để có thể trở nên nhất quán hơn?

Một trong những điều đầu tiên mà bạn nên làm là chọn một bộ tiêu chuẩn cho việc viết code. Một khi bạn đã có bộ tiêu chuẩn cho riêng mình, luôn làm theo tiêu chuẩn đó. Bạn có thể sử dụng công cụ phân tích source như linter để kiểm tra code để đảm bảo code mình viết ra đúng chuẩn.

Điều thứ hai cần làm chính là đặt tên một cách nhất quán. Các biến, phương thức (methods) và các lớp nên được đặt tên theo cùng một cách thức.

Bạn cần biết rằng tính nhất quán có tác động lớn đến khả năng duy trì tập mã nguồn (codebase) sau này.

6. Hãy giải quyết rốt ráo

Tôi sẽ sửa nó sau. Nghe rất quen. Và tất cả chúng ta đều biết rằng những gì được ‘sửa chữa sau’ thường có kết quả thế nào. Đừng như vậy. Mỗi lần bạn ai đó nói “để làm sau”, bạn cần phải nghi ngại.

Đừng trì hoãn, hãy làm việc với đoạn code hoặc mô tả tính năng (Requirement, hay User Story gọi theo mô hình Agile hoặc SCRUM ) từ đầu cho đến khi hoàn tất. Tuy nhiên, ‘hoàn tất’ thật sự có nghĩa là gì?

Trước hết, nó có nghĩa là mã của bạn được tái cấu trúc như đã đề cập bên trên. Hơn nữa, mã của bạn cần phải được kiểm thử. Và thử nghiệm có lẽ là phần chán nhất trong công việc của hầu hết các developer. Nhớ là có nhiều thứ để kiểm tra hơn là chỉ nhấp chuột để xem các tình huống mặc định. Phải chắc chắn là đoạn code được kiểm tra với nhiều tình huống khác nhau. Tốt hơn nữa, bạn có thể tạo một số bài kiểm tra tự động (automation test).

Điều còn lại là tài liệu. Có cần tài liệu cho tính năng này? Tester có biết làm cách nào để kiểm tra tính năng này không? Có điều gì tester cần hiểu rõ trước khi tiến hành kiểm thử?

7. Học hỏi không ngừng

Công nghệ mới xuất hiện hàng ngày. Đôi khi dường như là rất khó để theo kịp tất cả các xu hướng mới nhất. Đó chính là lý do bạn nên luôn luôn học tập. Khi bạn ngừng học hỏi cũng chính là lúc mà bạn ngừng phát triển. Học những điều mới là cách duy nhất để luôn phù hợp với thời đại công nghệ nhiều đổi thay mà chúng ta đang sống.

Theo Ralph Waldo, triết gia người Mỹ: ‘Nếu bạn không nỗ lực thực hiện một điều gì đó đó nằm ngoài những gì bạn đã quen thuộc, bạn sẽ không bao giờ phát triển hơn nữa’. Và bạn hãy nhớ điều đó.

Lời kết

7 thói quen trên không phải là tất cả những thói quen tốt mà lập trình viên nên có. Nhưng ít nhất nếu bạn làm theo cũng sẽ giúp ích cho bạn rất nhiều. Bạn có những thói quen bên trên không? Hay có những thói quen nào khác giúp cho lập trình viên cải thiện hiệu quả làm việc của mình? Hãy để lại comment bên dưới nhé. Và hãy chia sẻ nếu thấy bài viết hữu ích

Bài này được viết dựa trên bài gốc trên Gitconnected.com có tham khảo một số nguồn khác.

 

Bạn có biết?


tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất

Linkedin Page: https://bit.ly/LinkedinITguru
Facebook Group: https://bit.ly/ITguruvn
cơ hội việc làm IT : ITguru.vn