Hukum Abstraksi yang Bocor dalam Angular

Angular menyembunyikan kompleksitas. Ia memberi Anda alat seperti Router, HttpClient, dan Signals. Alat-alat ini memungkinkan Anda membangun aplikasi tanpa perlu mengkhawatirkan mekanisme internal browser.

Namun, abstraksi bersifat bocor. Ini adalah sebuah aturan dalam rekayasa perangkat lunak. Sebuah abstraksi menyembunyikan kompleksitas, tetapi tidak menghilangkannya.

Lihatlah HttpClient milik Angular. Ia membuat pengiriman request menjadi sederhana. Namun, Anda bisa saja menemui error CORS atau timeout. Tiba-tiba, Anda harus memahami HTTP dan komunikasi jaringan. Abstraksinya bocor.

Lihatlah RxJS. Ia mengelola aliran data. Anda menggunakan operator untuk menangani aksi pengguna. Jika Anda tidak dapat menjelaskan mengapa switchMap bekerja secara berbeda dari mergeMap, Anda harus mempelajari JavaScript event loop. RxJS tidak menggantikan pengetahuan tersebut.

Alat AI adalah lapisan abstraksi terbaru. Anda menggunakan AI untuk menulis komponen, pengujian, atau fitur. Hal ini membuat Anda bekerja dengan cepat.

Hukum Abstraksi yang Bocor juga berlaku untuk AI. Ketika kode AI gagal atau menciptakan risiko keamanan, Anda harus memahami apa yang terjadi di balik layar. AI tidak menghilangkan kebutuhan untuk memahami TypeScript atau arsitektur perangkat lunak.

Faktanya, mengandalkan AI membuat pemahaman fundamental menjadi lebih penting. Anda harus mengevaluasi kualitas kode yang diberikan oleh AI kepada Anda.

Framework membuat Anda produktif. AI membuat Anda cepat. Keduanya tidak membuat JavaScript, DOM, atau jaringan menjadi opsional. Mereka hanya membuat kita mudah melupakan dasar-dasar ini sampai terjadi sesuatu yang rusak.

Insinyur senior menonjol karena mereka tahu apa yang ada di balik abstraksi tersebut. Mereka dapat menemukan akar masalah ketika alat-alat gagal berfungsi.

Sumber: https://dev.to/duskoperic/the-law-of-leaky-abstractions-in-the-angular-ecosystem-59da

Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi