Dấu hiệu cho thấy bạn code rất tệ!

Dấu hiệu cho thấy bạn code rất tệ!
Biết và sửa sai là điều vô cùng tốt, thế nên việc sớm nhận ra mình code tệ và tìm cách khắc phục là điều quan trọng đối với một coder mới vào nghề.

Không tin vào code của mình

Một khi logic của bạn kém, bạn sẽ rất dễ rơi vào trạng thái nhầm lẫn và mất lòng tin vào chính những dòng code mình tạo ra.

Khi gặp tình trạng này, bạn sẽ thường xuyên gặp vấn đề trong việc:

  • Tạo ra các function IsNull() - IsNotNull() - IsTrue(bool) - IsFalse(bool) không nhằm mục đích gì cả.
  • Thường xuyên kiểm tra biến kiểu boolean có phải là biến khác đúng hay sai hay không.
  • Gọi các function giống nhau nhiều lần chỉ để xác nhận rằng nó thực thi.

Khi có những dấu hiệu này, bạn cũng đừng quá hoang mang, mà hãy:

  • Tránh mang những thói quen cũ không cần thiết từ một ngôn ngữ có hệ thống loại yếu.
  • Luôn tự tin vào khả năng logic của bản thân. Nếu vẫn cảm thấy logic mình có vấn đề hãy đổi qua những logic mới.

Dấu hiệu cho thấy bạn code rất tệ!

Lọt bẫy đệ quy

Theo những người có kinh nghiệm trong lập trình cho rằng, ý tưởng về đệ quy là khó nhưng không phải quá khó để thực hiện, nhưng vẫn có nhiều nhà lập trình rất sợ "tiếp xúc" với nó.

Đệ quy đóng vai trò như một "chiếc thang", bạn chỉ cần biết rõ mình đang ở đâu và đâu là nền tảng để biết mình nên bước lên hay bước xuống mà thôi!

Việc tận dụng những lợi ích mà đệ quy mang lại sẽ giúp code của bạn trở nên hiệu quả và "sạch sẽ" hơn rất nhiều.

Trong quá trình làm việc, nếu gặp một trong những tình trạng sau, thì chắc chắn bạn đã bị "mắc bẫy" của đệ quy rồi đấy!

  • Kiểm tra điều kiện cơ sở cả trước và sau khi gọi đệ quy.
  • Các hàm đệ quy không kiểm tra điều kiện cơ sở.
  • Các chương trình con đệ quy nối / tổng với một biến toàn cục hoặc một biến đầu ra mang theo.
  • Thuật toán lặp phức tạp cho các vấn đề có thể được giải bằng đệ quy, tương tự như duyệt qua một cây hệ thống tệp.

Vậy có cách nào khắc phục không? Câu trả lời là "có" nhé!

  • Thay đổi điều kiện kết quả đầu ra.
  • Có sự tự và cảm nhận được mình đang ở đâu và muốn làm gì.
  • Vận hành code theo nhiều bước để hiểu rõ đệ quy. Việc này có thể khiến tràn ngăn xếp, nhưng cũng không ảnh hưởng gì.

Dấu hiệu cho thấy bạn code rất tệ!

Thiếu hiểu biết về con trỏ

Con trỏ cũng là một trong những khái niệm quan trọng, giúp bạn đạt được những hiệu quả nhất định trong việc viết code.

Bởi khi không hiểu rõ về con trỏ, bạn sẽ rất khó có thể tạo ra các cấu trúc dữ liệu phức tạp và các API hiệu quả. Đồng thời, việc này còn khiến bạn tạo ra một thiết kế cấu trúc dữ liệu kém và gặp nhiều lỗi.

Những dấu hiệu nhận biết việc này sẽ là:

  • Không thể triển khai danh sách được liên kết.
  • Khó có thể tìm thấy hoặc sửa lỗi xảy ra do thực hiện sai số học trên con trỏ.
  • Không thể viết mã chèn / xóa các nút khỏi danh sách hoặc cây được liên kết mà không làm mất hoặc xóa dữ liệu.
  • Không phân biệt được đâu là giá trị truyền và tham chiếu chuyển qua trong các lệnh gọi phương thức.
  • Tạo bản sao của con trỏ, thay đổi giá trị được tham chiếu qua bản sao, sau đó nghĩ rằng con trỏ gốc vẫn trỏ đến giá trị cũ.

Với những điều trên, bạn có thể khắc phục chúng bằng cách thường xuyên thực hành cùng Pointer.

Dấu hiệu cho thấy bạn code rất tệ!

Code lộn xộn

Việc thiết kế code nhanh chóng là điều tốt, nhưng bạn cần đảm bảo tính logic, dễ đọc và dễ hiểu của chúng khi hoàn thiện, chứ đừng khiến nó trở thành mớ hỗn độn mà ai nhìn vào cũng phải "ngao ngán".

Đối với lập trình, thể loại code này sẽ được gọi là "code spaghetti", nghe thì khá hấp dẫn nhưng nó lại không "ngon lành" như bạn tưởng đâu!

Loại code này rất dễ khiến người khác phải khó chịu khi nhìn vào, bởi sự khó hiểu và phức tạp một cách không cần thiết.

Việc tạo ra những đoạn "code spaghetti" không những khiến bạn bị đánh giá là người code tệ, thiếu sự chuyên nghiệp mà còn mang lại nỗi ám ảnh cho người khác khi phải thực hiện việc bảo trì về sau này.

Dấu hiệu cho thấy bạn code rất tệ!

Hạn chế về khả năng research

Trong lập trình, việc nghiên cứu về các Framework cũng như các ngôn ngữ hiện đại là một trong những kỹ năng quan trọng đối với một lập trình viên.

Nhưng lượng kiến thức chuyên sâu về những điều trên khá rộng, nên đối với một lập trình viên giỏi cũng thường sẽ cần vài năm để có thể học và biết cách sử dụng hết. 

Và với những người có chuyên môn, họ vừa muốn đảm bảo hiệu suất công việc vừa muốn trau dồi kiến thức mới cho bản thân, thì sẽ luôn tìm kiếm một chức năng tích hợp sẵn trước khi bắt đầu triển khai chức năng của riêng họ.

Nếu bạn có những dấu hiệu dưới đây, cho thấy bạn là người code tệ và thiếu kỹ năng research:

  • Cố gắng tạo ra những thứ mới mà không có các cơ chế cơ bản được tích hợp sẵn trong ngôn ngữ.
  • Thường xuyên đi xin code người khác mà không chịu tìm kiếm.
  • Bảo thủ sử dụng kỹ thuật cũ ngay cả khi đã có kỹ thuật mới tốt hơn.
  • Cố chấp tái tạo các lớp và chức năng được xây dựng trong Framework.
  • Luôn khiến mọi thứ trở nên phức tạp bằng cách tạo ra các đoạn code "rối ren", thay vì tìm hướng giải quyết đơn giản.

Nếu có những dấu hiệu trên, thì bạn cũng đừng quá lo lắng mà hãy chịu khó thực hiện các biện pháp sau:

  • Kiên trì và chịu khó cải thiện kỹ năng research cho bản thân.
  • Luôn dành thời gian tìm kiếm, đọc các tài liệu để tìm ra hướng giải quyết phù hợp, đừng vội đi copy code nhé!

Dấu hiệu cho thấy bạn code rất tệ!

Không có sự sáng tạo thực nghiệm

Mặc dù viết code là công việc đòi hỏi người thực hiện phải có tính logic cao, nhưng thực tế, đây lại là một bộ môn nghệ thuật mang tính sáng tạo.

Những đoạn code xây dựng chương trình tương tự như blank canvas, còn ngôn ngữ lập trình hay các Framework, Library… được dùng kết hợp đóng vai trò như cây bút lông.

Và quan trọng hơn, trong lập trình không có một công thức nào mô tả chính xác quá trình viết code, bởi có khá nhiều cách hỗ trợ lập trình và bạn phải là người trải nghiệm chúng, để tìm ra phương pháp phù hợp nhất với bản thân mình.

Công nghệ là lĩnh vực không ngừng phát triển, thế nên bạn cũng phải không ngừng học hỏi để cải thiện kỹ năng viết code, nhằm sáng tạo ra nhiều cách viết code chứ đừng thực hiện nó theo một khuôn khổ của người khác.

Dấu hiệu cho thấy bạn code rất tệ!