DEV Community 日本語
フォロー
有効な検索でも歴史的に誤っていることがあります
設定のルックアップは現在有効なデータを取得できますが、過去のユーザーエクスペリエンスを誤って表現する可能性があります。これは、現在の設定が過去のアクションを説明するために使用され、不正確な表現につながる場合に発生します。たとえば、サービスは作成時に宛先に基づいて指示を生成する場合があります。その宛先が後で変更された場合、古い指示のためにそれを再解決すると成功しますが、実際には発行されなかった誤った宛先を指します。この微妙なバグは、例外や監視システムを回避します。これを防ぐために、システムはレコード作成時にユーザーまたはシステムに提供された正確な出力を永続化する必要があります。この保存されたスナップショットは、履歴の再構築のための確実な情報源として機能します。設定キーのみを保存しても不十分です。それらのキーに関連付けられた値は変更される可能性があるためです。スナップショットのない既存のレコードの場合、null値は、バックフィリングによって不正確な履歴データを暗示するのではなく、正直な不確実性を表す必要があります。安全な読み取りモデルは、これらのnullスナップショットを明示的に処理し、レガシー行の正確な再表示を抑制する可能性があります。スナップショットはデータの重複であり、規律ある管理が必要ですが、ユーザーや監査担当者向けの自己完結型の履歴レコードを提供します。このパターンにより、サポートチームはログ検索を回避でき、ユーザーは一貫した情報を確認できます。テストは、変更可能な設定と永続的な履歴との相互作用に焦点を当て、スナップショットが使用されていること、および設定の変更が過去のレコードを変更しないことを検証する必要があります。スナップショットを実装する前に、人またはシステムが出力に基づいて行動したかどうか、ソース値が独立して変更できるかどうか、古い出力を再現することが重要であり、その不正確さが損害を引き起こす可能性があるかどうかを検討してください。