Tôi có nên tránh JavaScript không?

Sử dụng câu lệnh if là một cách viết mã rườm rà và nên tránh bất cứ khi nào có thể [trong hầu hết các trường hợp, điều này gần như xảy ra 100% thời gian]

Đừng hiểu sai ý tôi, 5 câu lệnh if rất hữu ích trong một số trường hợp nhất định và đều có lý do của nó. Tuy nhiên, việc lạm dụng chúng ở những nơi có thể tránh được sẽ không chỉ khiến cuộc sống của bạn trở nên khó khăn hơn khi đến lúc phải xem lại mã sau vài tháng, mà còn ảnh hưởng đến thời gian cần thiết để nhà phát triển hiểu được ngữ cảnh của . Điều này làm gián đoạn “dòng chảy” và góp phần làm giảm hiệu quả tổng thể. Càng đơn giản càng đẹp

Nhìn vào đoạn mã bên dưới, chúng tôi đang truy xuất thẻ từ cơ sở dữ liệu theo số thẻ được mã hóa và trả về phản hồi xác thực dựa trên các điều kiện nhất định

async validateCard[encryptedCardNumber] {
  const card = await this.lookupCard[encryptedCardNumber];
  if [!card] {
    console.log[NotFoundResponse.message];
    return NotFoundResponse;
  }
  else if [card.isBlacklisted] {
    console.log[BlacklistedReponse.message];
    return BlacklistedResponse;
  }
  else if [card.isDeleted] {
    console.log[DeletedResponse.message];
    return DeletedResponse;
  } 
  else if [card.status !== CardStatus.active] {
    console.log[InactiveResponse.message];
    return InactiveResponse;
  }
  else {
    console.log[ValidResponse.message];
    return ValidResponse;
  }
}

Việc có nhiều câu lệnh if này không chỉ đòi hỏi khá nhiều nỗ lực để giải mã, mà khi có thêm nhiều điều kiện, chúng tôi sẽ sớm cuộn lên và cuộn xuống để đảm bảo đáp ứng từng trường hợp, đổ thêm dầu vào lửa. Bên cạnh đó, dường như cũng có sự trùng lặp mã có thể được trích xuất để bảo trì

Ví dụ dưới đây làm điều đó. Nó thay thế vô số câu lệnh if bằng Logical AND và Logical_OR [đánh giá ngắn mạch], gọn gàng và dễ hiểu hơn rất nhiều. Đối với những người không quen thuộc với sự tách rời và kết hợp, tôi thực sự khuyên bạn nên tìm kiếm nó, nhưng đây là một mô tả ngắn gọn

  • Logic AND [&&] đánh giá các toán hạng từ trái sang phải, trả về ngay giá trị của toán hạng giả đầu tiên mà nó gặp phải;
  • Toán tử logic OR [||] [phân tách logic] cho một tập hợp toán hạng là đúng khi và chỉ khi một hoặc nhiều toán hạng của nó là đúng. Với đánh giá ngắn mạch, nó chỉ đơn giản trả về biểu thức trung thực đầu tiên
async validateCard[encryptedCardNumber] {
  const card = await this.lookupCard[encryptedCardNumber];
  
  const response = 
    !card && NotFoundResponse ||
    card.isDeleted && DeletedResponse || 
    card.isBlacklisted && BlacklistedResponse ||
    card.status !== cardStatus.active && InvalidStatus ||
    ValidResponse;

  console.log[response.message];
  return response;
}

Khi yêu cầu kinh doanh thay đổi, mã cũng vậy. Trong một số trường hợp có thể loại bỏ mã hoàn toàn, nhưng trong một số trường hợp khác, nó mở rộng sang những gì đã có. Đây là một câu hỏi phỏng vấn phổ biến được hỏi và liên quan đến khả năng tạo ra một giải pháp có thể mở rộng của bạn

Tạo hàm chuyển đổi một số đã cho trong khoảng từ 1–10 thành từ

Đơn giản phải không?

function convertIntegerToText[num] {
  if [num === 1] return "one";
  if [num === 2] return "two";
  if [num === 3] return "three";
  // ...
  if [num === 10] return "ten";
}

Nhưng nếu sau đó họ nói điều này,

Các yêu cầu đã thay đổi. Bây giờ chúng tôi muốn sử dụng chức năng này để chuyển đổi các số từ 1–100 thành từ

bạn sẽ làm gì bây giờ?

Cách tiếp cận tốt hơn là nghĩ ra một giải pháp có thể mở rộng ngay từ đầu. Một nguyên tắc cơ bản quan trọng cần ghi nhớ khi thiết kế, kiến ​​trúc, viết và bảo trì mã là thời gian ảnh hưởng như thế nào đến tính bền vững của phần mềm và cách làm cho mã của bạn linh hoạt theo thời gian

Do đó, một giải pháp có thể mở rộng là một mã không có câu lệnh if nào hoặc một vài câu lệnh có thể bao gồm phần lớn các trường hợp, nếu không phải tất cả, với yêu cầu sửa đổi tối thiểu hoặc không cần sửa đổi

const ONES = ["", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
const TEENS = ["ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"];
const TENS = ["", "", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety"];

function convertIntegerToText[num] {
  if [num < 20] 
    return ONES[num] ?? TEENS[num - 10];
  
  if [num < 100]
    return `${TENS[Math.floor[num / 10]]} ${convertIntegerToText[num % 10]}`;
  
  if [num < 1000]
    return `${ONES[Math.floor[num / 100]]} hundred ${convertIntegerToText[num % 100]}`;
  
  throw new Error["Number too high"];
}

Để kết thúc mọi thứ, hãy xem đoạn mã bên dưới và tự đánh giá xem đoạn mã nào bạn cho là có khả năng mở rộng cao, dễ bảo trì, dễ đọc hơn và sẽ giúp bạn duy trì trạng thái trôi chảy nếu bạn bắt gặp nó?

// home.jsx
function getCompanyTemplate[company] {
  if [company === "apple"] {
    return 
  }
  if [company === "samsung"] {
    return 
  }
  if [company === "sony"] {
    return 
  }
  if [company === "lg"] {
    return 
  }
}
  
// OR
  
// index.jsx
export const templates = {
  apple: ,
  samsung: ,
  sony: ,
  lg: ,
}

// home.jsx
import { templates } from "./index"
function getCompanyTemplate[company] {
  return templates[company];
}

Bài viết trước của tôi giới thiệu một giải pháp giao diện người dùng có thể mở rộng chuyên sâu mà không cần bất kỳ câu lệnh if nào. Hãy chắc chắn để kiểm tra nó ra

Tại sao bạn nên tắt JavaScript?

Đây là những lý do khiến một số người chọn tắt một phần hoặc hoàn toàn JavaScript khỏi chạy trong trình duyệt web của họ. .
JavaScript có thể khiến các trang web trở nên khó chịu hơn. .
JavaScript có thể giúp các công ty theo dõi bạn dễ dàng hơn. .
JavaScript có thể có những lo ngại về bảo mật?.
JavaScript có thể làm chậm máy tính hoặc điện thoại của bạn

Có đáng học JavaScript vào năm 2022 không?

1] Đó là ngôn ngữ lập trình phổ biến nhất . Theo Stackoverflow. com, JavaScript là ngôn ngữ lập trình phổ biến nhất được sử dụng bởi các nhà phát triển chuyên nghiệp ngày nay. Ngay cả các nhà phát triển back-end cũng chọn JavaScript thường xuyên hơn.

Cho phép JavaScript có an toàn không?

Đối với hầu hết người dùng, JavaScript khá an toàn . Nếu bạn đang làm điều gì đó khiến bạn đặc biệt quan tâm đến bảo mật, bạn có thể tắt JavaScript, sau đó dễ dàng bật lại. Nhưng để tận dụng tối đa web hiện đại, tốt nhất bạn nên để nó ở trạng thái bật. Một tùy chọn khác là tắt JavaScript trên các trang web cụ thể.

JavaScript có cần thiết trên máy tính của tôi không?

Nhiều trang web trên Internet có chứa JavaScript , một ngôn ngữ lập trình kịch bản chạy trên trình duyệt web để làm cho các tính năng cụ thể trên trang web hoạt động được. Nếu JavaScript đã bị tắt trong trình duyệt của bạn, nội dung hoặc chức năng của trang web có thể bị hạn chế hoặc không khả dụng.

Chủ Đề