Bagi saya, Idiot Proofing hanya berarti memastikan pengguna tidak dapat merusak perangkat lunak bahkan jika dia mencoba. Misalnya, jika nilai dibaca dari kotak teks, dan dikonversi menjadi ganda, jika perangkat lunak yang mendasarinya adalah bukti idiot, itu tidak akan rusak jika pengguna mengetikkan nilai non-ganda.
Saya baru-baru ini menulis jadwal pengembangan dan salah satu item bernama "Idiot proof UI". Orang-orang yang saya bangun perangkat lunak ini dengan bercanda pura-pura tersinggung dengan istilah itu, tetapi saya bisa melihat di mana istilah ini benar-benar membuat orang kesal.
Apa cara yang lebih baik untuk mengatakan ini?
terminology
sooprise
sumber
sumber
Jawaban:
Jika Anda memasukkan "Idiot proof UI" sebagai item jadwal maka Anda hanya mencoba menambah kualitas setelah itu ke perangkat lunak Anda. Setiap sistem yang dirancang dengan baik akan memvalidasi inputnya dan memberikan panduan yang jelas kepada pengguna sebagai hal yang biasa, itu bukan sesuatu yang dimasukkan ke dalam jadwal sebagai item diskrit (yang kemudian dapat dihapus ketika hit krisis yang tak terelakkan).
Atau, jika itu harus item diskrit (saya tahu bagaimana beberapa organisasi berpikir tentang penjadwalan), "Idiot proof UI" harus diubah menjadi "Input Validation Library" dan dipindahkan ke bagian depan jadwal.
sumber
Validasi input pengguna saya pikir akan menjadi istilah profesional. Saya tidak melihat ada yang salah dengan pemeriksaan idiot jika digunakan dalam dokumen internal.
sumber
Mengeras adalah kata yang bagus. Jika ada yang bertanya, beri tahu mereka perangkat lunak pertama yang lulus biasanya ditulis untuk skenario ideal, dan seperti alat baja, perangkat lunak perlu "dikeraskan" ke arah penggunaan sehari-hari oleh pelanggan nyata.
Robustification adalah kata lain yang bagus untuk ini - Anda membuat kode menjadi kuat terhadap jenis tantangan yang akan dilontarkan pelanggan nyata.
Kedua kata itu terdengar keren dan industri, jangan salahkan pengguna atau pemrogram, dan sampaikan intinya.
BTW, inilah maskot lama Metrowerks, Arnold, pria yang dulu membantu kami para programmer Mac mengeraskan dan menguatkan kode kami dengan tungku perlakuan panas, bengkel, dan palu kecil dan landasan palu kecil:
sumber
Pemrograman Defensif
Adalah apa yang diajarkan kepada saya. Kembali ketika kami harus memotong bit kami sendiri dari kayu.
Jika Anda ingin menjadi PC, sebut saja pemrograman "antisipatif".
sumber
Ketika saya sedang belajar, kami menyebutnya anti peluru .
Namun, sebagian besar eufemisme lain yang saya baca juga berlaku.
sumber
Bagaimana dengan sistem atau UI "Toleransi kesalahan"?
sumber
"Idiot proofing" harus terdiri dari keduanya
mendesain UI sehingga mudah digunakan dan mengarahkan pengguna untuk memasukkan data dengan cara yang diharapkan oleh para programmer, dan
menguji UI untuk menentukan apakah antarmuka dapat rusak dengan memasukkan nilai data yang tidak terduga.
Kedua langkah mungkin muncul pada jadwal pengembangan di mana desain diperiksa oleh ahli pengalaman pengguna dan di mana kode yang dikirimkan diperiksa oleh penguji untuk memastikan bahwa data yang tidak valid ditangani dengan benar (untuk apa pun "benar" artinya untuk aplikasi Anda).
sumber
Idiot-proofing melibatkan lebih dari sekadar validasi input sederhana. Saya bahkan tidak akan memasukkan hal seperti itu dalam definisinya.
Validasi input adalah proses di mana Anda membersihkan dan memvalidasi data pengguna untuk menghilangkan nilai ilegal / tidak masuk akal. Ini harus selalu dilakukan dengan informasi yang berasal dari luar program Anda sehingga dapat menghilangkan yang jelas serta melindungi diri Anda dari serangan (misalnya serangan injeksi sql).
Saya akan menganggap pembuktian idiot sebagai serangkaian logika untuk menjaga agar pengguna tidak sengaja menyebabkan kerusakan besar pada dirinya sendiri melalui cara lain yang legal.
Misalnya, membuat
rm
tolak perintahrm -rf /
dan menutup varian tidak ada hubungannya dengan validasi atau kebenaran. Ini perintah yang benar-benar valid. Sayangnya, ini adalah perintah yang dapat dan dapat menghapus semua data Anda dari semua disk Anda di Unix / Linux. Membuktikan idiot ini akan menolak perintah ini dan akan menyarankanrm -rf --i-really-mean-this /
, atau jika dalam mode interaktif, minta pengguna mengetikkan tanggapan afirmatif setelah peringatan.Apa pun yang merusak sistem harus dibuktikan dengan kebodohan. Apa pun yang dapat menyebabkan rasa malu mungkin juga menjadi kandidat (mis. "Anda yakin ingin mengirim email ini tanpa lampiran meskipun Anda menyebutkan satu di teks Anda?", Dan "Anda yakin ingin mengirim email ini ke seluruh perusahaan? ")
Idiot-proofing adalah kolaborasi antara QA (berusaha menjadi idiot terbaik) dan Pengembangan (mencoba mengantisipasi semua skenario ini dan mendesain di sekitarnya).
Adapun sinonim yang lebih ramah , mungkin saya sarankan "analisis jalur kode destruktif" atau "aktifkan umpan balik pengguna untuk operasi kritis". Apa pun Anda menyebutnya, Anda harus benar-benar memulainya sedini mungkin dalam proses desain.
sumber
"Sanity Checking" cenderung bekerja dengan cukup baik ...
sumber
Sebut saja "menambahkan Poka-kuk ke UI". http://en.wikipedia.org/wiki/Poka_yoke
sumber
"Penanganan kesalahan" atau "validasi input" adalah istilah lain yang akan saya gunakan untuk apa yang Anda gambarkan. Antipeluru akan menjadi istilah lain yang bisa saya lihat digunakan di beberapa kalangan karena idenya di sini adalah membuat perangkat lunak yang cukup kuat untuk menangani hampir semua hal. Rock solid akan menjadi ungkapan slang lain yang bisa kubayangkan seseorang ingin gunakan di sini juga.
sumber
+ Msgstr "Pemeriksaan skenario kasus terburuk". Karena, sebagai pengembang, kita semua tahu bahwa jika itu bisa dilakukan, maka itu akan dilakukan . Jadi, Anda hanya harus siap untuk menangani situasi skenario terburuk dengan perangkat lunak Anda.
Langkah-langkah keamanan bukan hanya cara untuk melindungi pengguna dari invasi cyber luar, tetapi juga terhadap diri mereka sendiri. Kita hidup di dunia yang tidak sempurna dengan pengguna yang tidak sempurna.
sumber
Pelapisan emas adalah istilah sopan (dan terdengar sangat positif) yang saya gunakan ketika berbicara tentang meningkatkan pengalaman antarmuka pengguna akhir dengan cara apa pun (GUI atau lainnya).
Proof-proofing, seperti yang Anda katakan, adalah bagian terbesar dari proses itu, bersama dengan perbaikan desain atau alur kerja (pikirkan pengakuan umpan balik pengguna akhir).
Idenya di sini adalah bahwa Anda dapat menggunakan istilah itu secara bebas di lingkungan kerja dan dilihat sebagai proses yang berharga (setelah selesai) oleh manajemen dan pengguna, meskipun mungkin perlu waktu (dan dengan demikian umumnya membutuhkan sejumlah uang).
banyak istilah lain yang terkait dengan proses ini (sering kali merupakan akhir siklus) membuatnya terdengar seperti proses ini:
Dengan mengaitkan emas dengan proses (logam biasanya disamakan dengan "bernilai" daripada "biaya"), saya telah melihat proses menjadi berubah dari pengeluaran menjadi investasi dalam beberapa pola pikir manajer.
Ini seperti secara terbuka menyatakan bahwa sampai ini selesai, potongan baja yang kikuk belum menjadi perhiasan. Tapi begitu berlapis ... maka itu berharga.
sumber
Paling sering digunakan dalam kaitannya dengan proses pembuatan tetapi saya pikir yang benar-benar cocok adalah Poka-Yoke :
"[poka yo-ke] adalah istilah Jepang yang berarti" gagal menyelamatkan "atau" pemeriksaan kesalahan "
Awalnya digambarkan sebagai baka-yoke, tetapi karena ini berarti "pembodohan" (atau "pembodohan idiot"), namanya diubah menjadi poka-yoke yang lebih ringan.
Secara lebih luas, istilah ini dapat merujuk pada segala kendala pembentuk perilaku yang dirancang menjadi produk untuk mencegah operasi yang salah oleh pengguna. "
sumber
Istilah umum di toko-toko besar juga Jaminan Kualitas (QA) .
Ini adalah istilah yang umum dan tidak jelas yang dapat Anda gunakan untuk makna spesifik Anda sendiri dalam siklus rilis Anda.
sumber
Kami menyebutnya Pemeriksaan Manusia. Kita semua idiot.
sumber