現在、Windowsフォームアプリケーションのエラー防止コンセプトに取り組んでいます。
ユーザーがオブジェクトを削除する場合、正確な結果が何であるかを知ることはどのくらい重要ですか?私のアプリケーションでは、他のデータをこのオブジェクトに関連付けることができます。存在する場合と存在しない場合があります。例えば。 「人物」オブジェクトには、関連する「財務」データを保存できます。知識なしにこのデータを失うと、多くの作業が失われる可能性があります。
これを確認ダイアログでどのように伝える必要がありますか?
1。単に一般的であり、ユーザーが何をしているかを知っているユーザーに依存していますか?
この人物を削除してもよろしいですか?[はい] [いいえ]
2。常に関連データがあると仮定していますか?(実際にあるかどうかを確認せずに)
この人物を削除すると、関連する資金調達と支払いデータも失われます。この人物を削除してもよろしいですか?[はい] [いいえ]
。削除されるものを正確に記載
この人を削除すると、次の関連データも失われます:融資、支払い。この人物を削除してもよろしいですか?[はい] [いいえ]
私のおすすめ:
John Doeを削除しますか?
あなたは彼の資金調達と支払い情報を失うでしょう。
[キャンセル] [削除]
この人物を削除すると、次の関連データも削除されます(失われます)。
融資-xレコード
支払い-yレコード
この人物を削除してもよろしいですか?
[キャンセル] [削除]
そして、私はキャンセルをデフォルトにします(Enterキー)
当然のことながら、答えは「アプリに依存している」ということです。 (たとえば、どのように損失が壊滅的であるか、それが回復可能か、ユーザーがアプリに慣れているか、およびアプリケーションに固有のその他のパラメーター)。
しかし、良いニュースは、段階的なレベルの開示の順序で非常に慎重にオプションを既にレイアウトしているため、その方法の90%に達していることです。
残っている唯一のステップは、ユーザーの立場に立って、次のように尋ねることですこのタスクを完了するために何を知りたいですか?。
その質問にどのように答えるかは、どれだけの時間、経験、予算を持っているかによって異なります。あなた自身の直感を使うことができます。ユーザーにインタビューしたり、テストを実施したりできます。しかし、あなたがその質問に答えることができると確信しているとき、私は農場に賭けるでしょうどのレベルの開示に対する答えがあなたに平手打ち明白になります。
データの損失は、設計の問題に関して重大度が最も高いと分類されます。したがって、ユーザーが何をしているのかをユーザーが確実に把握できる場合のみ、オプション1を使用してください。
オプション2はフラストレーションにつながります。ユーザーに伝えたい最後のことは、アクションが悪い結果をもたらす可能性があることです。彼らはすぐに躊躇し、あなたが言った結果を綴ってくれることを望みます。これはユーザーの信頼の欠如につながります。
オプション3は良さそうですが、より自然な方法で提示できますか? 「人」を視覚化するときに、財務情報と支払い情報のスニペットを含めることができますか?これにより、データが機械的に聞こえることなく、データが関連付けられていることがユーザーに通知されます。
また、データ損失のシナリオを処理する場合は常に、元に戻す機能が必須です。人々は誤ってクリックするか、かなり頻繁に心を変えます。
幸運を!
私はBlamに同意し、彼の返答に追加したいと思います(「コメントを追加」するための十分な信用がまだありません)。
スペースが問題ではなく、削除が定期的に発生しない場合は、ユーザーがデータを復元できるようにごみ箱を検討することができます。復元の重複に注意する必要があります-重複を復元して新しいエントリを消去する必要はありません。これを処理する方法はいくつかありますが、ここで考えたよりも間違いなく多くの作業です。ユーザーが本当にそのデータを取り戻す必要があるときは、その努力に見合う価値があります。