Định luật về các lớp trừu tượng rò rỉ trong Angular
Angular che giấu sự phức tạp. Nó cung cấp cho bạn các công cụ như Router, HttpClient và Signals. Những công cụ này cho phép bạn xây dựng ứng dụng mà không cần lo lắng về các thành phần nội tại của trình duyệt.
Nhưng các lớp trừu tượng luôn có sự rò rỉ. Đây là một quy luật trong kỹ thuật phần mềm. Một lớp trừu tượng che giấu sự phức tạp, nhưng nó không loại bỏ sự phức tạp đó.
Hãy nhìn vào HttpClient của Angular. Nó giúp việc gửi các yêu cầu trở nên đơn giản. Nhưng khi bạn gặp lỗi CORS hoặc lỗi timeout, đột nhiên, bạn buộc phải hiểu về HTTP và giao tiếp mạng. Lớp trừu tượng đã bị rò rỉ.
Hãy nhìn vào RxJS. Nó quản lý các luồng dữ liệu. Bạn sử dụng các toán tử để xử lý các hành động của người dùng. Nếu bạn không thể giải thích tại sao switchMap hoạt động khác với mergeMap, bạn sẽ phải nghiên cứu về JavaScript event loop. RxJS không thay thế kiến thức đó.
Các công cụ AI là lớp trừu tượng mới nhất. Bạn sử dụng AI để viết các component, tests hoặc các tính năng. Nó giúp bạn làm việc nhanh hơn.
Định luật về các lớp trừu tượng rò rỉ cũng áp dụng cho cả AI. Khi mã nguồn do AI tạo ra gặp lỗi hoặc gây ra các rủi ro bảo mật, bạn phải hiểu điều gì đang thực sự xảy ra bên dưới bề mặt. AI không loại bỏ nhu cầu cần phải biết TypeScript hay kiến trúc phần mềm.
Trên thực tế, việc phụ thuộc vào AI càng khiến các kiến thức nền tảng trở nên quan trọng hơn. Bạn phải đánh giá được chất lượng của đoạn mã mà AI cung cấp cho mình.
Các framework giúp bạn làm việc hiệu quả. AI giúp bạn làm việc nhanh chóng. Không có cái nào trong số đó khiến JavaScript, DOM hay networking trở thành những thứ không bắt buộc. Chúng chỉ khiến bạn dễ dàng quên đi những kiến thức cơ bản này cho đến khi có sự cố xảy ra.
Các kỹ sư Senior nổi bật vì họ biết điều gì nằm bên dưới lớp trừu tượng. Họ tìm ra nguyên nhân gốc rễ khi các công cụ gặp lỗi.
Source: https://dev.to/duskoperic/the-law-of-leaky-abstractions-in-the-angular-ecosystem-59da
Optional learning community: https://t.me/GyaanSetuAi