Prinsip Terkecil Leasing berlaku untuk berbagai kegiatan desain - dan tidak hanya dalam komputasi (meskipun sering kali hal-hal yang paling menakjubkan terjadi).
Pertimbangkan lift dengan tombol di sebelahnya yang bertuliskan "panggilan". Saat Anda menekan tombol, telepon umum berdering (alih-alih memanggil lift ke lantai itu). Ini akan dianggap mencengangkan. Desain yang benar adalah dengan meletakkan tombol panggilan di samping telepon daripada lift.
Selanjutnya, pikirkan halaman web yang memiliki jendela pop up yang menampilkan kesalahan gaya windows dengan tombol 'ok' di atasnya. Orang mengklik tombol 'ok' berpikir itu untuk sistem operasi dan bukannya pergi ke halaman web lain. Ini mengejutkan pengguna.
Ketika datang ke API ...
- Pikirkan tentang metode toString () yang alih-alih mencetak bidang mengembalikan kembali "untuk diterapkan".
- Metode equals () yang berfungsi pada informasi tersembunyi.
- Kadang-kadang orang mencoba mengimplementasikan kelas daftar yang diurutkan dengan mengubah metode add to call sort () pada array sesudahnya - yang mencengangkan karena metode add seharusnya ditambahkan ke daftar - ini terutama mencengangkan ketika seseorang kembali ke objek Daftar tanpa pengetahuan bahwa di suatu tempat jauh di dalam, seseorang melanggar kontrak antarmuka.
Memiliki metode yang melakukan satu hal berbeda berkontribusi pada pengurangan keheranan, namun ini adalah prinsip terpisah dalam desain API. Keempat prinsip yang sering disebut-sebut sebagai "desain API yang baik" adalah (dari pdf ini - hanya satu contoh dari presentasi semacam itu. Tautan di akhir yang khusus ini membuat bacaan yang baik):
Sangat berpotensi mengejutkan bagi seseorang untuk memiliki kelas yang mencoba melakukan segalanya - atau membutuhkan dua kelas untuk melakukan satu hal. Ini juga berpotensi mengejutkan bagi seseorang untuk mengacaukan internal dengan cara-cara aneh di bawah selimut (saya menemukan kelas terbuka di Ruby menjadi sumber keheranan yang tidak pernah berakhir). Juga menakjubkan untuk menemukan dua metode yang tampaknya melakukan hal yang sama.
Dengan demikian, prinsip paling tercengang mendasari desain API lainnya - tetapi, itu sendiri, tidak cukup hanya dengan mengatakan "tidak memiliki API yang menakjubkan."
Bacaan lebih lanjut (dari perspektif UI) - blog pengembang IBM berjudul The cranky user: The Principle of Least Astonishment