- Published on
Artikel ini mengunci fondasi pengendalian dependency dalam firmware ESP32 berbasis Arduino. Masalah utama spaghetti firmware bukan pada bahasa, melainkan global mutable state tanpa owner dan dependency implicit lintas domain. OOP digunakan bukan untuk gaya, tetapi untuk mengenkapsulasi state, menetapkan ownership yang jelas, dan memaksa dependency eksplisit melalui constructor injection. Setiap peripheral dan domain logic harus dibungkus dalam class dengan state private. Singleton dan inheritance berlebihan dilarang; composition menjadi pendekatan default. Dengan struktur ini, dependency menjadi terarah, blast radius perubahan mengecil, dan race condition lebih mudah dianalisis sebelum sistem berkembang semakin kompleks.