Kim chỉ nam gối đầu cho các lập trình viên

Biên dịch: Nhữ Đình Thuận

10 nguyên tắc căn bản được đúc rút từ blog Ashish Arya.Bằng những kinh nghiệm bản thân và vốn hiểu biết trao đổi từ các bậc đàn anh đi trước, tôi thấy những gì mà Ashish Arya đề cập cực kỳ đúng đắn cho bất cứ ai đang, sẽ theo nghiệp phát triển phần mềm. Tài liệu lược dịch, biên soạn và hiệu chỉnh.

Làm thế nào để trở thành một lập trình viên tốt? Không có định nghĩa cụ thể để đánh giá đâu là lập trình viên giỏi. Nhưng một lập trình viên giỏi trước tiên phải là người hoàn thành tốt công việc và tiếp nữa, thành quả của họ là những giải pháp xuất sắc thúc đẩy sự phát triển và đóng góp cho nghành phần mềm. Những nguyên tắc dưới đây thật sự cần cho những ai đã, đang và sẽ theo đuổi nghiệp lập trình.1. Làm việc dựa trên kiến thức nền tảng. Trong khoa học kỹ thuật, kiến thức căn bản là tối cần thiết. Nắm vững kiến thức căn bản ta sẽ có được cơ sở vững chắc cho thành công. Nghành phần mềm cũng không phải ngoại lệ, các lý thuyết về máy tính, phần cứng, mạng, thiết bị ngoại vi, hệ điều hành, thuật toán, mô hình cơ sở dữ liệu,…là căn bản, kim chỉ nam cho các thiết kế, cài đặt trong phần mềm. Nếu còn chưa nắm vững lý thuyết căn bản về khoa học máy tính, hãy sử dụng internet. Đó là cách tiếp cận tri thức vô cùng hiệu quả do chính công nghệ thông tin mang lại.

2. Gắn các từ khóa nghi vấn (how, what,…) cho mọi mã lệnh mà mình viết ra. 

Một điều tôi nhận thấy là có khoảng cách rõ ràng giữa lập trình viên giỏi và phần còn lại. Lập trình viên đó luôn ham hố hiểu biết tất cả những gì về mã lệnh khi nó được thực thi (Nó chạy như thế nào? Làm sao nó chạy?…). Bởi thế, họ sẽ không bao giờ để lại những dòng code do mình viết mà không hề biết rõ mã lệnh đó được máy tính thi hành như thế nào.

Mặc dù phần mềm được phát triển theo một lịch trình chặt chẽ nhưng đó không phải là lý do chẹp miệng cho qua. Hãy hiểu biết chính xác và lựa chọn phương pháp tốt nhất cho cài đặt của bạn trong sự cân nhắc thời hạn hoàn thành phần mềm. Hãy biến nguyên tắc này trở thành một thói quen tốt trong công việc.

3. Hãy học bằng cách giúp đỡ người khác. 

Kinh nghiệm bản thân cho thấy, tôi học được rất nhiều bằng cách tìm câu trả lời cho các thành viên trên diễn đàn JavaVietnam.org. Tự xấu hổ vì đến giờ tôi không còn nhiều thời gian lẫn thích thú khi làm tiếp công việc này. Giúp người khác tìm hiểu, giải quyết vấn đề là một phương pháp tốt để học tập. Trong công ty, trong nhóm, trên cộng đồng,… hiểu biết khó khăn của người khác và đưa cho họ giải pháp khắc phục là cách để nâng cao kiến thức của chính bản thân mình.

4. Hãy viết những dòng code đơn giản, dể hiểu nhưng logic. 

Giữ cho mình công thức KISS: Keep it simple and short – Đơn giản và ngắn gọn. Đừng bao giờ cho rằng mã lệnh càng phức tạp thì càng khẳng định mình giỏi. Hãy viết những dòng code hợp lý và thật đơn giản. Mã lệnh càng đơn giản thì càng ít lỗi, có thể mở rộng tốt hơn cũng đồng nghĩa với việc cộng tác nhóm tốt hơn khi chúng ta cần chuyển giao code.

Một trong những tiêu chí đánh giá khả năng này là mã lệnh đạt đến mức không cần comment (chú thích). Điều đó đồng nghĩa với việc bất cứ ai cũng có thể đọc mã lệnh của bạn. Đừng tưởng viết nhiều chú thích vào mã mà bạn trở thành chuyên nghiệp. Hãy thể hiện chúng ngay trong chính dòng mã của mình.

5. Dùng nhiều thời gian để phân tích vấn đề hơn là đi sửa lỗi. Một lập trình viên tốt sẽ dùng nhiều thời gian cho phân tích và thiết kế code hơn là thời gian sửa lỗi sau cài đặt. Thiết kế không đồng nghĩa với việc phải ngồi vạch vạch, vẽ vẽ ra trên giấy. Nó đơn giản chỉ là ngẩng mặt lên trời và suy nghĩ một giải pháp trong đầu bạn. Đừng vội vơ lấy bàn phím khi có được yêu cầu, hãy phân tích, thiết kế và cài đặt từ trong tâm trí trước khi hiện hữu những dòng mã trên màn hình.If you cannot grok the overall structure of a program while taking a shower, you are not ready to code it. ~Richard Pattis6. Hãy là người đầu tiên phân tích và nhìn lại mã của bạn. 

Nhìn lại mã lệnh mình vừa viết là một thói quen cực tốt. Việc này có thể cải tiến được cài đặt và tránh lỗi trước khi người khác phát hiện ra. Luôn luôn nghiêm khắc và đừng bao giờ thiên vị với thành phẩm của mình. Cũng không nên ngại ngần khi để người khác review code. Tiếp thu những phản hồi từ bên ngoài sẽ giúp bản thân ngày càng tiến bộ hơn.

7. Đừng chạy theo công nghệ. 

Hiệu ứng sính cái mới đặc biệt phổ dụng trong nghành công nghệ.

Có rất nhiều người luôn muốn tìm hiểu và đánh cược cả sự nghiệp của mình vào những công nghệ vừa mới ra đời. Thật nực cười khi cụm từ “công nghệ mới nhất” được gắn cho những tools, APIs, frameworks,… vừa mới ra đời. Những gì tương tự vậy diễn ra hàng ngày trong thế giới công nghệ và mặc dù chúng có thể giúp việc lập trình nhanh hơn, dễ dàng hơn nhưng đừng vội vàng theo đuổi trước khi có những đánh giá cặn kẽ. Hãy giữ nền tảng kiến thức làm kim chỉ nam và kiến thức nền tảng có tốc độ thay đổi chậm hơn rất nhiều so với frameworks, tools hay APIs quanh nó.

Đừng dập dềnh trên những con sóng biển. Nước bề mặt luân chuyển nhanh hơn rất nhiều trong khi nước ở dưới đáy, nơi cuộc sống cá tôm thực sự tồn tại lại ít có sự thay đổi hơn. Hãy đặt mình vào chỗ nước sâu và gần hơn với kiến thức căn bản.

Chẳng hạn, trong thế giới Java, rất nhiều những tool, frameworks tồn tại và ra đời mỗi tuần. Đừng quan tâm nhiều, những khái niệm cốt lõi như tương tác client-server, MVC pattern, Servlets/JSP, resource bundling, XML parsing,… mới là thứ cần phải nắm chắc. Một khi đã có được chúng, việc tiếp cận công cụ hay frameworks mới sẽ chỉ trong một sớm một chiều.

8. Các giải pháp tình thế không tồn tại được lâu

Nhiều lập trình viên đưa ra những giải pháp tình thế để giải quyết vấn đề (do thiếu thời gian, không hiểu đúng vấn đề, hoặc thiếu kinh nghiệm). Nhưng về lâu dài, những giải pháp đó sẽ làm hỏng code, khiến nó khó mở rộng và bảo trì. Hãy luôn cố gắng thực hiện một cách tổng thể. Chỉ nên bắt đầu công việc khi đã hiểu rõ đầu vào- đầu ra của giải pháp.

9. Đọc tài liệu. 

Lập trình viên giỏi thường giữ thói quen đọc nhiều tài liệu. Tài liệu có thể là đặc tả, API documents, tutorials,… Đọc tài liệu sẽ trang bị cho chúng ta những hiểu biết tốt nhất từ đó có được cách thức giải quyết hiệu quả nhất cho mọi vấn đề.

10. Hãy học bằng cách đọc mã của người khác. 

Tìm cách tiếp cận lập trình viên giỏi để có được mã nguồn của họ. Đọc và tham khảo trực tiếp chúng trong công việc hàng ngày. Cách thức tổ chức code, thiết kế code (factory, singleton, traversal,…), cấu trúc thuật toán,… là những thứ rất đáng để quan tâm. Trong thế giới Java, bộ mã nguồn của JDK sẽ là một tham vấn bên cạnh thế giới nguồn mở sẽ có rất nhiều thứ cho bạn học tập và tìm tòi.

Dưới đây là video clip hướng dẫn do Đặng Minh Tuấn thực hiện, cũng từ nguồn trên.

%d bloggers like this: