Variabel global seharusnya hanya digunakan untuk negara yang benar-benar global. Menggunakan variabel global untuk merepresentasikan sesuatu seperti misalnya garis lintang batas utara peta hanya akan berfungsi jika hanya ada satu "batas utara peta". Jika di masa depan kode mungkin harus bekerja dengan beberapa peta yang memiliki batas utara yang berbeda, kode yang menggunakan variabel global untuk batas utara kemungkinan akan perlu dikerjakan ulang.
Dalam aplikasi komputer biasa, seringkali tidak ada alasan khusus untuk menganggap tidak akan ada lebih dari satu hal. Namun, dalam sistem embedded, asumsi seperti itu seringkali jauh lebih masuk akal. Meskipun ada kemungkinan bahwa program komputer biasa dipanggil untuk mendukung banyak pengguna secara bersamaan, antarmuka pengguna dari sistem tertanam yang khas akan dirancang untuk operasi oleh satu pengguna yang berinteraksi dengan tombol dan tampilan. Dengan demikian, setiap saat akan memiliki status antarmuka pengguna tunggal. Mendesain sistem sehingga banyak pengguna dapat berinteraksi dengan banyak keyboard dan tampilan akan membutuhkan lebih banyak kerumitan, dan membutuhkan waktu lebih lama untuk diimplementasikan, daripada mendesainnya untuk satu pengguna. Jika sistem tidak pernah dipanggil untuk mendukung banyak pengguna, setiap upaya ekstra yang diinvestasikan untuk memfasilitasi penggunaan tersebut akan sia-sia. Kecuali kemungkinan dukungan multi-pengguna akan diperlukan, kemungkinan akan lebih bijaksana jika risiko membuang kode yang digunakan untuk antarmuka pengguna-tunggal jika diperlukan dukungan multi-pengguna, daripada menghabiskan waktu ekstra menambahkan multi-pengguna. dukungan pengguna yang kemungkinan besar tidak akan pernah dibutuhkan.
Faktor terkait dengan sistem tertanam adalah bahwa dalam banyak kasus (terutama yang melibatkan antarmuka pengguna), satu-satunya cara praktis untuk mendukung memiliki lebih dari satu hal adalah dengan menggunakan banyak utas. Dengan tidak adanya beberapa kebutuhan lain untuk multi-threading, mungkin lebih baik menggunakan desain single-threaded sederhana daripada meningkatkan kompleksitas sistem dengan multi-threading yang mungkin tidak pernah benar-benar diperlukan. Jika menambahkan lebih dari satu sesuatu akan memerlukan desain ulang sistem yang besar, tidak masalah jika itu juga membutuhkan pengerjaan ulang penggunaan beberapa variabel global.