5 Thói quen Xấu Lập trình viên cần tránh là gì?

Ngày đăng: 21/09/2019   -    Cập nhật: 21/09/2019
Sự khác biệt giữa một Lập trình viên giỏi và một Lập trình viên tệ có thể không phải là kỹ năng lập trình.

Trong thực tế, điều khiến các Lập trình viên đứng ở level khác nhau là do cách họ đối mặt với nhưng "Thói quen xấu".

Thật vậy, những thói quen xấu có thể gây hại đến mức họ có thể biến một lập trình viên tiềm năm thành một lập trình viên tầm thường, thậm chí gián tiếp đá họ khỏi ngành lập trình.

Và điều này cũng rất đúng trong lập trình Web, bất kể bạn là lập trình viên có kinh nghiệm hay nếu bạn mới bắt đầu học lập trình.

Vì vậy, tôi tự hỏi:

5 thói quen xấu khi lập trình mà tôi thực sự thấy và trải nghiệm trong quá trình làm việc là gì?


5 Thói quen Xấu Lập trình viên cần tránh

5 Thói quen Xấu Lập trình viên cần tránh

Và làm thế nào bạn có thể tránh những thói quen xấu đó?

Hãy cùng tôi tìm hiểu trong bài viết này...


#1: Thói quen sử dụng mã mà không thực sự hiểu nó

Sử dụng mã mà không thực sự hiểu nó

Sử dụng mã mà không thực sự hiểu nó

Hãy thừa nhận điều này: Bạn đã sử dụng mã mà chẳng hiểu nó làm gì ít nhất 1 lần trong đời.

Tôi chắc chắn cũng đã như thế (thậm chí nhiều hơn một lần)

Đây là các nhanh khi chúng ta muốn chức năng trong web của mình thực sự hoạt động mà chư nghĩ ra cách làm.

Bạn chỉ cần sao chép trên Stack Overflow một đoạn mã thực sự hoạt động và chỉ cần một vài thay đổi nhỏ mà chẳng cần ngồi ngẫm nghĩ về việc tại sao nó lại hoạt động. (Người ta hay gọi là Copy - Paste đó)

Tôi biết, làm việc này rất khỏe mà lại cực kỳ hiệu quả, nhưng...


ĐỪNG SỬ DỤNG MÃ MÀ KHÔNG THỰC SỰ HIỂU NÓ!


Bạn không bao giờ nên chỉ làm một ứng dụng cho xong trừ khi bạn hoàn toàn hiểu cách thức hoạt động của nó.

Nếu không có vấn đề gì phát sinh thì không sao.

Tuy nhiên, nếu có phát sinh:

Làm thế nào bạn có thể cải thiện, sửa chữa hoặc thậm chí gỡ lỗi một đoạn mã mà bạn không thể hiểu?

Từ bỏ thói quen này cũng khá đơn giản:

Trước khi sử dụng một đoạn mã, hãy đọc nó lại vài lần, suy nghĩ tại sao nó lại được viết như thế, bạn có thể thay đổi tùy biến thế nào.

Việc này cần có thời gian, nhưng nó chắc chắn có giá trị lâu dài cho bạn.

#2. Thói quen xấu "Để mai sửa"


Thói quen xấu "Để mai sửa"

Thói quen xấu "Để mai sửa"

Nhiều lúc, bạn phát hiện ra rằng một đoạn mã có lỗi nghiêm trọng hoặc lỗi logic có thể bị kích hoạt trong một số trường hợp.

Có thể mã đó vẫn hoạt động bình thường và chỉ không hoạt động trong các điều kiện nhất định hoặc không thể xử lý một số đầu vào cụ thể hoặc có thể tiềm ẩn lỗi bảo mật.

Nhưng Lỗi có khả năng xảy ra, và bạn biết nó có khả năng xảy ra phải không?

Trong những trường hợp này, bạn có thể tự nhủ rằng: "Âu kê, để mai sửa"

Nhưng bạn không bao giờ nên tự nhủ như thế. Bởi vì, chúng ta thừa biết rằng, chỉ qua vài dòng code nữa thôi, bạn sẽ quên béng cái lỗi đấy nó có tồn tại.

Đây là những gì sẽ thực sự xảy ra:

Chừng nào lỗi còn tồn tại, bạn sẽ buộc phải viết cách khắc phục và sửa lỗi tạm thời ở bất cứ đâu trong ứng dụng của bạn trước khi quá muộn để sửa chữa.

"Để mai sửa"... Cuối cùng, thì không biết mai là ngày mai hay mai kia... Cái này thực sự không tốt.

Tất nhiên, không phải mọi lỗi lập trình đều cần được sửa ngay lập tức.

Nhưng điều quan trọng là không nên tiếp tục tự nhủ như vậy mà cần phải lên kế hoạch sửa chữa nó ngay lập tức.

Làm thế nào để bạn tránh thói quen xấu này?

Điều tốt nhất cần làm là khắc phục mọi vấn đề ngay lập tức, nhưng tôi biết rằng không phải lúc nào cũng có thể.

Trong những trường hợp này, hãy đánh dấu đoạn mã có thể gây ra lỗi bằng comment (như / * Bugfix * /) và thêm ngay công việc vào trong kế hoạch làm việc của bạn.

Nên sớm nhất có thể, có nghĩa là trong 2 - 3 ngày (nhiều hơn thế sẽ khiến bạn quên đi các chi tiết lỗi!)

Hoặc ngay khi bạn hoàn thành công việc hiện tại của mình, một lần nữa:


LÊN KẾ HOẠCH SỬA LỖI CỤ THỂ, NGAY!
 
 

#3. Thói quen không Viết Comment khi lập trình


Không Viết Comment khi lập trình

Không Viết Comment khi lập trình

Các lập trình viên thường không viết comment vì viết comment sẽ mất chút thời gian.

Tuy nhiên, mặc dù đúng là việc viết comment mất một chút thời gian, nhưng về lâu dài nó thực sự giúp bạn tiết kiệm rất nhiều thời gian lập trình.

Viết comment buộc bạn phải hiểu và xem lại logic trong đoạn mã của bạn. Một quy trình cho phép bạn bắt lỗi và dự đoán lỗi tiềm ẩn ngay lập tức. Nó giống như một bản pre-debug.

Comment cũng liên quan chặt chẽ đến khả năng sử dụng lại của các đoạn mã.

Sử dụng lại đoạn mã của riêng bạn có thể giúp bạn tiết kiệm thời gian hàng giờ, hàng ngày, thậm chí hàng tuần để lập trình.

Nhưng…

Bạn đã bao giờ thử nhìn vào mã bạn đã viết trước đó chưa? Nếu nó không được comment đầy đủ, rất có thể bạn lại tự chửi "thằng ch*o nào viết ngu thế này"

Đây là lý do tại sao viết comment là chìa khóa để tái sử dụng mã, debug hiệu quả.

Comment cũng có nhiều lợi ích khác, bao gồm cung cấp tài liệu tham khảo cho các lâp trình viên khác.

Tuy nhiên, không quá ngạc nhiên khi rất nhiều Lập trình viên không comment đúng ý nghĩa mã của họ. Và tôi thừa nhận rằng: Tôi cũng có thói quen xấu này.

Nhưng hãy tin tôi: Nếu bạn bỏ thói quen xấu này và bắt đầu viết comment mỗi khi bạn lập trình... Bạn sẽ sớm thấy công việc lập trình nhẹ nhàng hơn rất nhiều.

Chiến lược số 1 của tôi để bắt đầu cải thiện việc viết comment là:

VIẾT COMMENT TRƯỚC KHI VIẾT BẤT KỲ ĐOẠN CODE NÀO!
 
Ví dụ. Bạn sẽ viết một chức năng? Bắt đầu với một comment cho hàm, mô tả mục đích của nó, các đối số và giá trị trả về của nó. Sau đó, việc tiếp theo mới là viết mã logic.

#4: Đánh giá thấp tính bảo mật


Đánh giá thấp tính bảo mật

Đánh giá thấp tính bảo mật

Các trang web có thể được sử dụng bởi bất kỳ ai qua Internet, kể cả người dùng có ý đồ xấu.

Và mọi hoạt động được thực hiện bởi các ứng dụng web có thể có khả năng gây hại theo một cách nào đó.

Một ví dụ phổ biến là SQL Injection. Các cuộc tấn công DOS và vô vàn ví dụ khác.

Trong khi đó..

Các lập trình viên thường đánh giá thấp tính bảo mật, khiến hệ thống của họ dễ bị tấn công bởi các loại tấn công khác nhau.

Các lỗi bảo mật phổ biến nhất mà tôi đã thấy là về xác thực đầu thông tin đầu vào.

Đó là: Kiểm tra, Xác thựcLàm sạch dữ liệu từ chuỗi truy vấn (cũng như các nguồn khác, bao gồm cơ sở dữ liệu, tệp cục bộ và tài nguyên từ xa).

Các cuộc tấn công bằng SQL Injection cũng rất phổ biến. Trên thực tế, chúng vẫn là rủi ro bảo mật web số 1 trong năm 2017.


  • Bạn có thể xem thêm báo cáo 10 Rủi ro bảo mật ứng dụng Web quan trọng nhất của OWASP tại đây

Thật không may, đánh giá thấp các vấn đề bảo mật là một thói quen xấu rất phổ biến của các lập trình viên.

 
HÃY DÀNH THÊM CHÚT THỜI GIAN CHO BẢO MẬT!

Để bỏ thói quen xấu này, hãy tự hỏi mình câu hỏi này:

  • Tôi có biết chính xác điều gì xảy ra khi trang web của tôi nhận được bất kỳ đầu vào nào từ người dùng không?
  • Tôi có chắc chắn 100% rằng mọi thứ sẽ hoạt động tốt và hệ thống của tôi sẽ an toàn, cho dù ứng dụng được sử dụng bởi các khách hàng từ xa?

Ứng dụng của bạn sẽ chỉ được bảo mật khi câu trả lời của bạn là Có.

#5: Lập trình mà không quan tâm đến khả năng mở rộng


Lập trình mà không quan tâm đến khả năng mở rộng

Lập trình mà không quan tâm đến khả năng mở rộng
 
Thói quen xấu cuối cùng là bỏ qua khả năng mở rộng khi lập trình.

Điều này có nghĩa là: Không quan tâm đến việc ứng dụng của bạn sẽ hoạt động tốt như thế nào khi nó tiếp tục phát triển.

Một ứng dụng có thể hoạt động tốt khi phục vụ 10 người dùng, khi tìm nạp 10 mục từ cơ sở dữ liệu hoặc khi cung cấp dữ liệu JSON cho 10 máy khách từ xa.

Nhưng…


  • Nó vẫn hoạt động tốt với 100, 1.000, 10.000 người dùng chứ?
  • Nó sẽ vẫn hoạt động tốt khi cơ sở dữ liệu sẽ chứa 10.000 mục hay khi các máy khách từ xa truy xuất dữ liệu JSON gấp 100 lần?
  • Cơ sở dữ liệu sẽ hỗ trợ khối lượng công việc đó?
  • Thời gian đáp ứng vẫn sẽ được chấp nhận? Và mức tiêu hao bộ nhớ hệ thống sẽ tăng bao nhiêu?

Hiện nay:

Bạn không cần phải viết mã có thể mở rộng 1000x lần ngay từ đầu.

Có thể trang web của bạn không cần mở rộng qui mô cỡ đó.

Tuy nhiên, sẽ là một sai lầm nếu không nghĩ về khả năng mở rộng.

Trên thực tế, một thói quen xấu của nhiều lập trình viên là tạo ra các trang web, các ứng dụng mà chỉ hoạt động tốt trong các tình huống hiện tại, mà không tự hỏi liệu ứng dụng của họ có tiếp tục hoạt động tốt trong tương lai hay không.

Làm thế nào để bạn tránh thói quen xấu này?

Hãy thêm một bài kiểm tra khả năng mở rộng trong giai đoạn kiểm thử / gỡ lỗi của bạn.

Chạy ứng dụng của bạn bằng cách sử dụng 10, 100 lần hoặc 10.00 lần tập dữ liệu bạn đã sử dụng trong giai đoạn lập trình và xem nó diễn ra như thế nào.

Bộ dữ liệu này có thể là một bộ cơ sở dữ liệu của các mục, số lượng người dùng, v.v.


 
SUY NGHĨ VỀ KHẢ NĂNG MỞ RỘNG TỪ ĐẦU!

Xem xét một số số liệu về khả năng mở rộng để kiểm tra xem trang web của bạn có còn hoạt động tốt không, bao gồm:

  • Thời gian tải
  • Tiêu hao bộ nhớ hệ thống
  • Dấu vết cơ sở dữ liệu

Lời kết về lời khuyên giúp tránh các thói quen xấu khi lập trình


Trong bài đăng này, bạn đã tìm hiểu về 5 thói quen xấu của các Lập trình viên và các lời khuyên để tránh chúng.

  • Học Lập trình PHP chuẩn, tránh 5 thói quen xấu tại NIIT - ICT Hà Nội ngay!

Tôi đã thấy hoặc thậm chí tự mình trải nghiệm những thói quen xấu này trong quá trình làm việc và tôi biết chúng có thể gây ra thiệt hại lớn.

Thế còn bạn?

Bạn có biết bất kỳ thói quen xấu nào khác mà chúng ta nên tránh không?

Chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới.


Alex

---

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI

Dạy học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543 - 0353655150 
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp



Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

[Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt

24 Tháng
Chương trình Đào tạo Công nghệ Thông tin chuyên ngành Lập trình viên Quốc tế tại NIIT Hà Nội. Đào tạo bản quyền NIIT Ấn Độ. 24 tháng thực học.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!