6 thói quen khi lập trình mà bạn nên có
Bài đăng này đã không được cập nhật trong 4 năm
Trong cuộc sống, một thói quen tốt sẽ luôn giúp ích cho chúng ta rất nhiều, và lĩnh vực lập trình cũng không phải là ngoại lệ. Để có thể trở thành một developer giỏi, chúng ta cần phải tập cho bản thân một vài thói quen tốt khi viết code. Có một số thói quen mà hầu hết các developer đều đồng ý là rất tốt và nên có, nhưng trên thực tế, không phải ai cũng có được những thói quen này.
Trong bài viết này, mình sẽ trình bày về 6 thói quen mà mình nghĩ là một developer nên có để hoàn thiện, nâng cao khả năng của bản thân
1. Viết code sạch
Một thói quen rất cần thiết khi lập trình đó là bất kỳ khi nào ta thay đổi một đoạn code, ta nên cố gắng để cải thiện nó. Bất kể là bạn chỉ fix một dòng code hay thêm cả một tính năng vào phần code có sẵn, ta đều nên cố gắng trau truốt, cải thiện nó ở mức tốt nhất có thể.
Uncle Bob có một câu nói rất nổi tiếng cho thói quen này, dựa trên luật của Boy Scout:
Always leave the code you’re editing better than you found it. (tạm dịch: Hãy luôn làm cho code khi bạn chỉnh sửa tốt hơn lúc bạn tìm thấy nó.)
Bạn sẽ rất ngạc nhiên khi phát hiện ra có vô số chỉnh sửa nhỏ bạn có thể cải thiện khi đọc một vài đoạn code. Những thay đổi đó có thể rất nhỏ, như là rename biến, function. Chỉ cần chắc chắn rằng bạn đã thực hiện việc cải thiện code ít nhất một lần mỗi khi bạn đọc qua, hay chỉnh sửa một đoạn code. Việc này sẽ khiến đoạn code bạn để lại cho đời sau có chất lượng tốt hơn rất nhiều.
Lý do tại sao đây là một thói quen tốt để xây dựng đó là bằng thói quen này, ta sẽ học hỏi không ngừng. Một đoạn code hôm nay có thể là tốt, nhưng ngày mai có thể sẽ không còn là vậy. Ta sẽ phải luôn học hỏi, cải thiện bản thân không ngừng.
2. Nghĩ về người tiếp theo
Bất kỳ khi nào bạn viết một đoạn code, bạn nên nghĩ về phản ứng của người tiếp theo khi đọc vào đoạn code của bạn mới viết.
Hãy viết code sao cho dễ đọc và dễ hiểu nhất có thể. Tỉ lệ về thời gian giữa việc đọc code và viết code là trên 10:1. Điều đó có nghĩa là bạn sẽ tiết kiệm rất nhiều thời gian sau này với chỉ một nỗ lực nho nhỏ nhằm cải thiện chất lượng đoạn code mà bạn viết ra, giúp nó dễ đọc, dễ hiểu hơn.
Đừng cố gắng viết những đoạn code cao siêu, hãy cố gắng viết code đơn giản nhất có thể.
3. Chỉ làm đúng những gì mình cần, không hơn không kém
Các developer thường có thói quen khá kỳ lạ, là làm nhiều hơn những gì mình được yêu cầu. Khi một feature cụ thể được yêu cầu, nhiều developer xây dựng một thứ quá cả yêu cầu.
Vấn đề này được gọi với thuật ngữ overengineering, có nghĩa là làm quá cả thứ cần thiết. Đoạn code được xây dựng mạnh mẽ hơn, phức tạp hơn cần thiết, và không có lý do chính đáng nào để làm điều này.
Trong phần lớn trường hợp này, lý do của việc xây dựng một feature nhiều hơn cả yêu cầu cụ thể chủ yếu là do suy đoán. Developer thêm một vài dòng code có thể cần thiết trong tương lai, dựa trên suy nghĩ của họ. Tuy nhiên, đoạn code này lại có thể không báo giờ được sử dụng.
Do đó, khi làm một feature, một task, tốt nhất hãy chỉ tập trung vào đúng những gì được yêu cầu, không hơn, không kém.
4. Xây dựng kế hoạch trước khi viết code
Một developer thực thụ sẽ yêu thích duy nhất một công việc, đó là lập trình. Điều này có thể không làm bạn bất ngờ, nhưng rất nhiều developer nhảy ngay vào công việc mà họ yêu thích nhất khi được giao một công việc nhất định: viết code.
Họ viết code ngay lập tức.
Lao vào viết code ngay có vẻ thú vị. Tuy nhiên, sự phấn khích đó có thể kết thúc với việc phải trả giá bằng rất nhiều thời gian. Khi ta nhảy ngay vào viết code, có thể ta đã bỏ qua cái nhìn rộng hơn.
Trước khi bắt đầu viết code, ta cần lên kế hoạch và sắp xếp nó. Hãy nghĩ về vấn đề mà ta cần giải quyết và tìm ra hướng đi hợp lý nhất. Nghĩ xem bạn sẽ tổ chức code như thế nào, tại sao lại chọn giải pháp này, ...
Có rất nhiều câu hỏi hay ho mà bạn có thể tự đặt cho bản thân trước khi bắt đầu viết code. Những câu hỏi này có thể giúp ta nhìn nhận rõ ràng hơn vấn đề mà ta cần giải quyết, trước khi bắt đầu viết code.
5. Tài liệu
Vâng, tài liệu, một thứ nghe khá nhàm chán và có vẻ không phải là một thói quen hay ho. Tuy nhiên, viết tại liệu là một việc vô cùng quan trọng.
Đã bao giờ bạn checkout một repository mà nó không có bất kỳ một tài liệu nào về việc set up mọi thứ chưa? Mình đoán hẳn là sẽ có rồi. Sau khi bỏ ra hàng giờ đồng hồ, đọc qua vô số dòng code, có thể bạn sẽ set up được nó, hoặc cũng có thể là không. Lúc đó, bạn sẽ ước là có một tài liệu nào đó.
Ở mức tối thiểu nhất, một project nên có file readme.md
để hướng dẫn developer khác có thể set up project.
Phần thú vị của việc viết tài liệu là ta hoàn toàn có thể thực hiện việc viết tài liệu ngay lúc đang code. Hãy dành thời gian nghĩ một tên biến có ý nghĩa hơn, tên một function rõ ràng hơn. Đó chính là lúc bạn đang viết tài liệu.
6. Học hỏi không ngừng
Như Issac Asimov đã từng nói:
The day you stop learning is the day you begin decaying. (tạm dịch: ngày bạn ngừng học cũng là ngày bạn bắt đầu mục rữa)
Câu nói này vẫn luôn đúng với thế giới công nghệ, nơi mọi thứ luôn thay đổi với một tốc độ chóng mặt.
Việc luôn cập nhật những thay đổi mới nhất gần như là việc bất khả thi, kể cả khi bạn có thể thực hiện, mình cũng không khuyến khích việc đó. Đừng luôn cố gắng cập nhật mọi thứ liên tục tới mức cực đoan, nhưng việc học thêm một framework mới, hay một ngôn ngữ mới sau mỗi khoảng thời gian thì rất tốt.
Điều này không có nghĩa rằng bạn sẽ cần phải đạt level expert ở tất cả ngôn ngữ lập trình hay framework. Chỉ cần có kinh nghiệm với một số trong chúng là đủ.
Tổng kết
Có rất nhiều thói quen tốt khác mà các developer có thể xây dựng cho bản thân để có thể trở thành một developer tốt hơn. Mình xin tổng kết lại những thói quen mà mình có đề cập tới:
- Viết code sạch
- Nghĩ về người tiếp theo
- Chỉ làm đúng những gì mình cần, không hơn không kém
- Xây dựng kế hoạch trước khi viết code
- Tài liệu
- Học hỏi không ngừng
Hãy cố gắng xây dựng thói quen tốt cho bản thân mình, từng bước từng bước một. Hãy nhớ rằng một thói quen cần thời gian để có thể đạt được, vậy nên hãy cứ bình tĩnh. Cảm ơn bạn đã dành thời gian đọc bài viết của mình.
Tham khảo
6 Programming Habits That (Surprisingly) Not Many Developers Have
All rights reserved