Vào những ngày đầu sự nghiệp của tôi, mỗi khi tôi làm việc với JavaScript tôi luôn luôn có một sự nghi ngờ rằng: “Liệu code của mình có thật sự đúng?”. Bởi vì, trong mọi ngôn ngữ lập trình thì không có một cách đúng nào để khiến cho mọi thứ hoạt động. Tuy nhiên, một người phải luôn luôn ghi nhớ những điều mà mình không nên làm. Vậy nên, dưới đây là danh sách những điều không nên làm ở trong JavaScript mà tôi muốn chia sẻ với các bạn.

1. Tránh sử dụng var

Hãy luôn luôn sử dụng let hoặc const khi bạn cố gắng để khai báo một biến. Nếu bạn có một biến mà nó không có yêu cầu thay đổi trong suốt quá trình sử dụng thì cách tốt nhất là sử dụng const. Bạn có thể hỏi: “Vì sao chúng ta không nên sử dụng var?”. Đó là vì ES6 đã cung cấp cho chúng ta từ khóa khai báo let – thứ mà khi sử dụng để khai báo biến trong phạm vi khối (khối là những thứ được bao bọc bởi dấu {}) thì biến sẽ chỉ có giá trị truy cập trong phạm vi khối đó. Sử dụng let sẽ giúp cho chúng ta tránh được những vấn đề xảy ra khi sử dụng var – thứ thuộc phạm vi hàm, ở trong phạm vi hàm nó rất dễ bị ghi đè.

Hãy xem xét ví dụ dưới đây trong đó chúng ta đang cố gắng in ra một ma trận (mảng) hai chiều. Lưu ý sự khác biệt trong việc khai báo biến lặp i:

function printMatrix (matrix) {
for (var i = 0; i < matrix.length; i++) {
    var line = matrix[i];
    for (var i = 0; i < line.length; i++) {
      var element = line[i];
      console.log(element);
    }
  }
}
var two_dimensional_matrix = [['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'i']];
printMatrix(two_dimensional_matrix);

Đầu ra khi sử dụng var

Đầu ra khi sử dụng var

function printMatrix (matrix) {
  for (let i = 0; i < matrix.length; i++) {
    let line = matrix[i];
    for (let i = 0; i < line.length; i++) {
      let element = line[i];
      console.log(element);
    }
  }
}
const two_dimensional_matrix = [['a', 'b', 'c'], ['d', 'e', 'f'],['g', 'h', 'i']];
printMatrix(two_dimensional_matrix);

Đầu ra khi sử dụng let

Đầu ra khi sử dụng let

2. Ngừng sử dụng "=="

Tốt nhất là luôn luôn sử dụng phương thức so sánh mạnh mẽ "===" thay cho phương thức so sánh yếu hơn là "==". Hãy xem xét ví dụ sau đây:

1 == true // kết quả trả về “true”
1 === true // kết quả trả về “false”
1 == “1” // kết quả trả về “true”
1 === “1” // kết quả trả về “false”

3. Không đặt những cái tên vô nghĩa cho biến

Đây là một quy tắc nghiêm ngặt áp dụng cho mọi ngôn ngữ lập trình. Luôn luôn sở hữu những cái tên có nghĩa cho biến sẽ giúp cho chúng ta viết tốt hơn và làm sạch code. Nó cũng sẽ giúp cho các lập trình viên khác dễ dàng hiểu code của bạn hơn. Không thêm các từ ngữ không cần thiết vào tên biến, giữ cho chúng được ngắn gọn và phải đảm bảo phù hợp với ngữ cảnh.

4. Đừng cố gắng nhồi nhét nhiều chức năng vào một hàm

Luôn luôn ghi nhớ quy tắc mô-đun hóa – một hàm chỉ thực hiện một nhiệm vụ duy nhất tại một hời điểm. Ngoài ra, tên của hàm cũng phải phù hợp với nhiệm vụ đó. Điều này không chỉ áp dụng cho JavaScript, nó áp dụng cho tất cả các ngôn ngữ lập trình. Viết một hàm chỉ để thực hiện một công việc duy nhất cũng sẽ giúp cho chúng ta DRY (Don’t repeat yourself). Nghĩa là, bạn sẽ không phải viết đi viết lại code để thực hiện một yêu cầu một cách nhiều lần vì khả năng tái sử dụng của phương pháp tăng lên khi nó không thực hiện quá nhiều chức năng phức tạp và chỉ thực hiện một tác vụ đơn giản. Không có một hàm nào thực hiện nhiều công việc mà lại vẫn đảm bảo phục vụ cho khả năng dễ dàng đọc hiểu cũng như tính hiệu quả.

Ví dụ:

/** Đừng làm điều này **/
function table (columns, rows, item){
  //Tạo bảng và tìm kiếm bảng thông qua các mục
}

/** Cách tốt hơn **/
function createTable (columns, rows){
  //Tạo bảng
}
function searchTable (table, item) {
  // Tìm kiếm bảng thông qua các mục
}

5. Tránh viết code lồng nhau quá nhiều

Code lồng nhau sẽ giải thích logic của nó cũng như dễ dàng đọc hiểu hơn. Tuy nhiên nếu lồng nhau quá nhiều sẽ khiến code của bạn trở nên khó theo dõi những gì bạn đang cố gắng làm. Người đọc code của bạn không nên phải dùng đến thanh cuộn ngang khi đọc code hoặc bị nhầm lẫn khi các trình chỉnh sửa code của họ bọc các dòng dài.

Ngoài ra còn một vấn đề khác của code lồng nhau liên quan đến tên biến và vòng lặp. Thông thường bạn bắt đầu vòng lặp với biến i là biến dùng để lặp, tiếp theo là với các biến j, k, l,… Điều này sẽ khiến code của bạn trở nên rối một cách nhanh chóng. Vậy nên tốt nhất là nên tránh các trường hợp này.

Lời kết

Hãy tuân thủ nghiêm ngặt “Những điều không nên làm trong JavaScript” để trở thành lập trình viên giỏi hơn. Tôi hi vọng những điều trên giúp được cho bạn hiểu một vài cách làm tốt khi bạn làm việc với JavaScript. Nếu bạn biết thêm về một vài điều không nên làm trong JavaScript hãy chia sẻ nó ở dưới phần comment.

Cảm ơn vì đã đọc!

Link bài viết gốc: Stop Doing These In JavaScript (Cần phải fix IP để truy cập)