20/07/2019, 09:50

4 lỗi check Conditionals trong JavaScript mà new Dev thường mắc và cách khắc phục

Giới thiệu Thật ra việc làm cho code tường mình ( clean code ) không phải chỉ cho chương trình bạn viết mà là cho những developers khác. Và cho bản thân của bạn ở những ứng dụng tiếp theo và trong tương lai. Bài viết này một phần nào đó để giúp bạn vượt qua những trường hợp đó ...

lỗi check Conditionals trong JavaScript

Giới thiệu

Thật ra việc làm cho code tường mình (clean code) không phải chỉ cho chương trình bạn viết mà là cho những developers khác. Và cho bản thân của bạn ở những ứng dụng tiếp theo và trong tương lai.

Bài viết này một phần nào đó để giúp bạn vượt qua những trường hợp đó và để giúp bạn tổ chức các câu lệnh có điều kiện một cách tốt hơn. Trong quá trình tôi làm việc với một số bạn mới ra trường thì có thể nói là việc các bạn hiểu logic rất tốt.

Vấn đề nắm bắt nhanh nhưng lúc triển khai thì các bạn lại bối rối, để rồi khi các bạn viết code cũng theo một chuẩn trong trường học. Cho nên nó làm những người như tôi cảm thấy bối rối theo.

Vậy trong bài này chúng ta sẽ tìm hiểu những lỗi check Conditionals trong JavaScript mà các lập trình viên mới ra trường hay gặp trong môi trường thật sự. Dưới đây là các tips về cấu trúc câu lệnh khi có sử dụng if…else. Có thể giúp các bạn viết ít code hơn nhưng có thể hiệu quả hơn với cách cũ.

  Những thư viện và framework của JavaScript mà bạn không thể bỏ qua
  Hack hàng ngàn Website thông qua các Thư viện JavaScript của Bên thứ ba - Trong đó có Datatables

Các lỗi check Conditionals trong JavaScript mà new Dev thường mắc

Không sử dụng các điều kiện phủ định.

Không sử dụng các điều kiện phủ định nó sẽ gây nhầm lẫn rất nhiều trong khi triển khai code.

Ví dụ:

Tại sao không thế này:

Bây giờ chúng ta cảm thấy nó rõ ràng hơn nhiều so với việc check những câu lệnh phủ định. Đương nhiên là nó không sai, nhưng thực sự nó hay gây nhầm lẫn cho những đồng nghiệp khác.

For Multiple Conditions, use Array.includes

Ví dụ nếu bạn muốn check hệ thống của bạn có những model như là ‘vinfast fadil’ hay ‘Hyundai Accent’ thì các devjs mới thường sẽ làm như thế này.

Thật sự không sai ở đây, và như thế này các bạn cũng đã làm rất tốt rồi, nhưng ở đây có một cách hay hơn nữa nếu như có thêm điều kiện check nữa thì sao? Cách tốt hơn là sử dụng Array.includes:

Giả sử sau này có thêm điều kiện ‘Toyota vios’ thì chúng ta cần thêm điều kiện đó vào:

Như thế này là ok!

Không cần check dài dòng khi sử dụng if…else

Có một ví dụ tiếp theo là check các properties trong một object thì có những dòng code như thế này. Các bạn xem qua và có thể tự mỉm cười vì mình có thể ỏ trong đó lúc còn đang là sinh viên.

Ví dụ:

Giờ đây các bạn có thể làm tốt hơn với việc sử dụng như thế này:

Các bạn có gắng giảm thật nhiều các điều kiện check không cần thiết. Code sẽ sạch hơn và việc fix bug cũng tốt hơn nữa.

Use Indexing or Maps Instead of switch Statement

Đây là một ví dụ nữa và cũng là ví dụ cuối cùng của bài viết hôm nay. Đó là có nhiều trường hợp các bạn có thể làm tốt hơn khi không sử dụng switch.

Xem ví dụ sau:

Giờ chúng ta sẽ viết lại một cách đơn giản hơn và cũng được nhiều người ủng hộ hơn:

Kết Luận

Thật ra những devjs mới không một ai có quyền trách hay chê bai code của các bạn cả. Vì đơn giản đó là điểm khởi đầu chung cho tất cả những dev trong đó có tôi. Để có nhiều kinh nghiệm thì hãy cho các bạn ấy nhiều cơ hội để cọ xát và giúp devjs mới có một môi trường để phát triển. Thay vào việc trách, hay chê bai thì hãy chia sẻ những kinh nghiệm cho các bạn devjs mới về cách viết code, fix bug….

Ở môi trường nào hay ngôn ngữ nào cũng vậy. Cố gắng đọc nhiều và học hỏi nhiều từ những bài viết và hơn hết là những người có kinh nghiệm. Thì tôi tin các bạn sẽ tiến nhanh hơn nữa.

Chúc các bạn có một kỹ năng thật tốt thông qua bài viết này. Happy coding!

Nguồn: Dev Induct

Có thể bạn quan tâm:

  • Hỏi ngắn đáp nhanh – Trắc nghiệm JavaScript
  • Vượt qua 7 sai lầm này để học JavaScript dễ thở hơn
  • JavaScript Tip: Đặt tên function để debugging một cách dễ dàng hơn

Xem thêm việc làm JavaScript Developer hấp dẫn trên TopDev

TopDev via anonystick.com

  7 khái niệm Javascript cơ bản không thể bỏ qua
  JavaScript Closures là gì?
0