Những mánh khóe chưa được tiết lộ của lập trình viên vĩ đại

Bạn muốn biết liệu các lập trình viên vĩ đại có những mánh khóe gì khi viết code, hay bạn chỉ là tìm cách để tích lũy thêm kinh nghiệm từ họ… nhưng dù bạn có cố gắng để biết điều đó thì vẫn không tìm được gì?

Bài viết dưới đây sẽ chia sẻ những mánh khóe chưa được tiết lộ của các lập trình viên vĩ đại. Các bạn cùng tham khảo nhé!

Mánh khóe code, test

- Trong đa phần các trường hợp, sử dụng inheritance (kế thừa) là một design tệ, làm cho code khó test và khó bảo trì. Hãy chuyển qua composition (sở hữu) và kết hợp với interface.

- Đừng sử dụng interface cho tới khi bạn hoàn toàn rõ ràng về domain của chương trình. (Mỗi khi cần thêm 1 function, bạn sẽ phải thêm nó vào interface và implement của interface đó, gấp đôi công sức).

- Bảo mật/mã hóa rất khó. Đừng tự làm mà hãy tái sử dụng (sử dụng thư viện, thuật toán có sẵn…), trừ khi bạn biết rõ mình đang làm gì.

- Có vô vàn nguyên nhân làm crash một chương trình: deploy sai cách, input bị lỗi, người dùng dùng sai cách, quá tải … Chuẩn bị sẵn sàng cho những điều đó: Ghi log những exception gặp phải, deploy thử lên server test, đặt giới hạn cho bộ nhớ…

- Kết nối mạng (HTTP, socket) rất dễ xảy ra vấn đề. Luôn nhớ đặt timeout cho các kết nối này, sử dụng thư viện để wrap chúng, retry nếu kết nối có vấn đề.

- Mỗi dòng code thêm vào sẽ làm chương trình phức tạp thêm một chút, tăng khả năng có bug. Bỏ bớt code là cách hay nhất để giảm bớt số lượng bug.

- Validate những thứ người dùng nhập vào, vừa đảm bảo tính bảo mật, lại hạn chế được bug.

- Tái sử dụng code chưa chắc đã khiến code của bạn dễ bảo trì hơn. Tái sử dụng code giữa 2 domain khác nhau có thể làm chúng “dính chặt” với nhau hơn.

- Chỉ test những thứ cần test, test ít thì dễ sót bug, test nhiều thì sẽ mất thời gian và tốn công update test case mỗi khi đổi requirement.

- Mỗi khi commit code, hãy giữ số lượng code nhỏ, code chạy được, viết message rõ ràng bao gồm thứ bạn đã làm và lý do bạn làm thứ đó.

- Với kiến trúc tốt, bạn vẫn có thể viết code lô. Tuy nhiên, với kiến trúc tốt, bạn có thể dễ dàng nâng cấp, thay thế phần code đểu đó. Tập trung xây dựng kiến trúc tốt, ít móc nối trước, về sau sẽ dễ thở hơn.

- Code để lâu cũng rất dễ hư hỏng, do đó cần được refactor thường xuyên. Tuy nhiên cần tránh refactor code quá độ.


Mánh khóe phát triển bản thân

- Vọc code của các ứng dụng, framework Open Source là cách nhanh nhất để học hỏi và “lên trình”.

- Code review là một trong những cách hay nhất giúp bạn tiến bộ, có người đánh giá code của bạn, giúp bạn phân biệt code giỏi và dở, tránh những lỗi lầm cơ bản.

- Học một ngôn ngữ mới sẽ giúp bạn hiểu những khái niệm mới, có cái nhìn mới, cách suy nghĩ sẽ linh hoạt hơn.

- Học một ngôn ngữ hướng đối tượng là chuyện dễ. Biết cách thiết kế hệ thống theo hướng đối tượng là chuyện khó. Hãy tìm hiểu các nguyên lý SOLID và một số Design Pattern, chúng sẽ nâng cao hiểu biết của bạn về thiết kế hướng đối tượng.

- Luôn giữ tinh thần học hỏi, nhưng đừng chạy theo công nghệ mới. Đừng chọn một công nghệ cho một dự án chỉ vì nó hot/mới/hay.

Hiểu được những mánh khóe chia sẻ trên, bạn sẽ có thêm cho mình những kiến thức giúp các bạn tiến xa hơn trên con đường trở thành lập trình viên xuất sắc.

Nếu bạn thực sự đam mê nghề lập trình và mong muốn gắn bó với nghề. Hãy bắt đầu tập cho mình những thói quen nghề nghiệp ngay từ bây giờ và tìm một địa chỉ tin tưởng để có thể được học hỏi, trải nghiệm những yếu tố thành công.

Đào tạo chuyên ngành lập trình với giáo trình chuẩn quốc tế, đội ngũ giảng viên được tuyển lựa khắt khe, Stanford – dạy kinh nghiệm lập trình mang đến cho sinh viên những kiến thức chuẩn nhất, được cập nhật những công nghệ mới nhất như lập trình mobile, Window 8, lập trình web… Bên cạnh đó, Với sự kết hợp giữa phương pháp vừa học lý thuyết vừa thực hành, học viên tại Stanford sẽ có cơ hội trau dồi kiến thức, kỹ năng lập trình của mình ngay trong lớp học. Từ đó, các bạn sẽ có sẵn nền tảng kiến thức và kinh nghiệm để gửi CV thực tập hoặc xin việc tại các công ty công nghệ.

Bạn yêu thích công việc lập trình và muốn trở thành một lập trình viên chuyên nghiệp? Vậy bạn còn chờ gì nữa, hãy đăng ký ngay cho mình những khóa học với những kinh nghiệm bổ ích tại Stanford nhé! Chi tiết các khóa học xem tại website: stanford.com.vn

Sưu tầm và tổng hợp (theo toidicodedao)

 

Tags: