Skip to content

Instantly share code, notes, and snippets.

@anhdiepmmk
Created May 6, 2025 07:34
Show Gist options
  • Save anhdiepmmk/e2f8a669677d26d287c595ffafcba301 to your computer and use it in GitHub Desktop.
Save anhdiepmmk/e2f8a669677d26d287c595ffafcba301 to your computer and use it in GitHub Desktop.

🏃‍♂️ Hôm nay tôi chạy bộ... để cảm nhận sức nặng của vòng for ⚡⚡⚡

🌥 Sáng nay trời không đẹp, nhưng tâm trí thì phải "clean code" như sau khi refactor hết callback hell vậy ⚡

🔥 Lý do chạy bộ:

  • Không phải để thi marathon
  • Không phải để lên cơ
  • Mà là để truyền cảm hứng cho JavaScript hiểu được nỗi đau của:
for (let i = 0; i < data.length; i++) {
  for (let j = 0; j < data.length; j++) {
    if (data[i] === data[j]) {
      // ...
    }
  }
}

😱 Sau khi về nhà, mồ hôi nhễ nhại như memory leak chưa được GC gom lại, tôi bật máy lên và hét lớn:

“Không! Không thể để vòng for này hành hạ CPU thêm nữa!” ⚡

🚀 Và thế là...

-- Từ:

for (let i = 0; i < arr.length; i++) {
  for (let j = 0; j < arr.length; j++) {
    if (arr[i].id === arr[j].id) {
      // duplicate logic here
    }
  }
}

-- Thành:

const seen = new Set();
const deduped = arr.filter(item => {
  if (seen.has(item.id)) return false;
  seen.add(item.id);
  return true;
});

⏱ Kết quả benchmark: Trước: 20 phút đợi kết quả... đủ để chạy hết 5km Sau: 20 giây ⚡⚡⚡ — đủ để đứng lên đi lấy ly cà phê quay lại thấy xong

📌 Kết luận: Chạy bộ giúp đầu óc tỉnh táo. Tỉnh táo thì mới không viết nested for 3 tầng để filter mảng nữa ⚡⚡⚡

🧘 Tối ưu code cũng như tối ưu bản thân: bền bỉ, kiên nhẫn, và đừng để dev khác phải trả giá bằng 20 phút CPU spike trên production


#ChạyĐểCodeĐẹp ⚡⚡⚡⚡ #KhôngChạyThìRefactorForever ⚡ #WeCommitPhongCáchCode ⚡ #CodeKhôngForNesting ⚡

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment