🏃♂️ 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 ⚡