NHỮNG BÍ QUYẾT CÁC LẬP TRÌNH VIÊN VĨ ĐẠI KHÔNG BAO GIỜ TIẾT LỘ VỚI BẠN

22:05 18-09-2019BKAP Media

Hãy đọc thật kỹ các bí quyết này và áp dụng ngay cho bản thân mình bạn nhé!

Trước tiên bài viết này được tổng hợp dựa trên mục Computer Science/Computer Programming trên Quora. Bỏ chút thời gian lướt Facebook và tìm vào trang này đi, bạn sẽ học hỏi được nhiều điều thú vị lắm đấy nhé!

Bạn đã biết các bí quyết Lập trình này chưa?

Bí quyết 1: Về code và 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. (Có thể đọc thêm về prefer composition over inheritance).

  • Đừ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 v…v), 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á độ.

Chỉ test những thứ cần test

Bí quyết 2: Làm việc

  • Rất khó để ước đoán thời gian cần làm để hoàn thành một module/dự án, đó là lý do người ta dùng Scrum.

  • Viết code để cho chính mình và người khác đọc. Thêm comment để giải thích “Vì sao”, thêm comment ở những nơi mà bạn nghĩ 1 năm sau bạn đọc code sẽ không hiểu gì.

  • Hiểu rõ thư viện/framework mà mình sử dụng, đừng cố gắng viết lại từ đầu những thứ người khác đã tốn công viết rồi.

  • Cài đặt để việc build một project diễn ra nhanh chóng tiện lợi nhất có thể. Hãy chắc chắn bạn có thể build bằng command line, sẽ rất có ích (Có thể kích hoạt build từ xa, hoặc đưa project lên CI chẳng hạn).

  • Hiểu rõ những tool bạn sử dụng (IDE, source control, build tool, Photoshop). Cố gắng tìm hiểu và làm quen với việc dùng các hotkey, hạn chế dùng chuột. Bạn sẽ làm việc nhanh hơn và “pro” hơn.

  • Ngồi lâu rất có hại. Hãy tập một số thói quen để đảm bảo sức khỏe khi làm việc: Không ngồi nhiều, lâu lâu cho mắt nghỉ ngơi, sắp xếp bàn làm việc, bàn phím, chuột sao cho làm việc thoải mái…

  • Đừng áp dụng lung tung các framework/process/pattern vào dự án để “thể hiện”. Không phải lúc nào Test-Driven Development cũng tốt, không phải lúc nào cũng nên áp dụng DI/IoC.

Viết code để cho chính mình và người khác đọc

Bí quyết 3: 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. (Thử chuyển từ C#/Java sang scripting language như python/javascript bạn sẽ thấy một chân trời mới).

  • 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.

Bạn đã học hỏi đến cảnh giới nào rồi? Thử áp dụng những ‘bí kíp’ trên để trở nên chủ động hơn với chính mình!

Bachkhoa-Aptech là đơn vị trực thuộc Aptech Ấn Độ - tập đoàn Công nghệ thông tin (CNTT) hàng đầu trên thế giới. Thương hiệu Aptech đã liên tục 17 năm nhận giải thưởng TOP ICT cho đơn vị đào tạo CNTT xuất sắc nhất Việt Nam. Với mô hình đào tạo LÀM TRƯỚC HỌC SAU đáp ứng yêu cầu Doanh nghiệp và cam kết việc làm, hơn 35.000 sinh viên tốt nghiệp Bachkhoa-Aptech đều có việc làm tốt, lương cao, đúng theo ngành nghề được đào tạo.

Học 2,5 năm nhận bằng CNTT Quốc tế:  https://bit.ly/2HGeWBE

Hotline tư vấn 24/7: 0968 27 6996 - 024 3755 4010

   0968276996
< wire:id="EXiP9MQkNOk1pKPSnQ2b" wire:initial-data="{"fingerprint":{"id":"EXiP9MQkNOk1pKPSnQ2b","name":"embedded.footer","locale":"vn"},"effects":{"listeners":[]},"serverMemo":{"children":[],"errors":[],"htmlHash":"26380eb1","data":[],"dataMeta":[],"checksum":"5519560ceec9e357d3e05b457457fbfa8271465f0ec23049e4ed3d9820ef95ed"}}"!-- Messenger Plugin chat Code -->