Masukan kludge

chmood
Masukan kludge
antipattern masalah

   Software yang gagal tes perilaku sederhana dapat menjadi contoh dari input kludge, yang terjadi ketika algoritma ad hoc bekerja untuk menangani masukan Program.

   Misalnya, jika program menerima input teks bebas dari pengguna, algoritma ad hoc akan menyalahgunakan banyak kombinasi legal dan ilegal string masukan. Bukti anekdotal untuk Input kludge berjalan seperti ini: "Akhir pengguna dapat mematahkan program baru dalam saat-saat menyentuh keyboard."

   Untuk perangkat lunak non demonstrasi, menggunakan algoritma masukan produksi berkualitas. Misalnya, analisis leksikal dan software parsing sudah tersedia sebagai freeware. Program seperti lex dan yacc memungkinkan penanganan yang kuat dari teks yang terdiri dari ekspresi reguler dan tata bahasa bebas konteks. Menggunakan teknologi ini untuk software produksi berkualitas dianjurkan untuk memastikan penanganan yang tepat dari input tak terduga.

   Banyak cacat perangkat lunak muncul karena kombinasi tak terduga dari fitur diakses pengguna. Mempekerjakan matriks fitur direkomendasikan untuk aplikasi canggih dengan antarmuka pengguna grafis.
Matriks fitur informasi negara dalam program yang digunakan untuk mengaktifkan dan menonaktifkan fitur sebelum tindakan pengguna. Ketika pengguna memanggil fitur, matriks fitur menunjukkan fitur lain yang harus dinonaktifkan untuk menghindari konflik. Misalnya, matriks fitur yang sering digunakan untuk menyoroti dan menu unhighlight perintah sebelum menampilkan menu.

   Programmer dilatih untuk menghindari kombinasi input yang menyebabkan program dan sistem crash. Dalam kursus tangan-pelatihan di OpenDoc, kami menggunakan rilis alpha awal dari teknologi yang belum cukup kuat untuk pengembangan produksi berkualitas. Dengan kata lain, itu mudah untuk crash seluruh sistem operasi dengan urutan yang tampaknya benar perintah masukan dan operasi tikus.
Para siswa menghabiskan hari pertama mengalami sistem crash banyak dan menunggu untuk sistem reboot. Setelah menghadiri "menabrak laboratorium," kami bertanya-tanya apakah rilis itu cukup kuat untuk memungkinkan setiap jenis pengembangan perangkat lunak yang canggih. Pada akhir minggu, kami telah belajar untuk bekerja di sekitar keterbatasan dan melakukan tugas-tugas pemrograman dan operasi masukan yang baik melampaui harapan kami membentuk hari pertama. Kami telah diinternalisasi urutan masukan yang dihindari sistem crash.




Komentar