画面から部品をひとつ消したら、絞り込みのボタンが全部無反応になりました
📌 記事の取り扱いについて(公開当時の内容を含みます — タップで詳細)
本記事は公開当時の体験・気づきをまとめたものです。現在のツール数・プラン数・対象年齢・記事数・仕様とは異なる場合があります。最新の内容は各ツールページをご確認ください。ツールや外部サービスの仕様・料金は変更されることがあるため、利用前には各公式情報も併せてご確認ください。記載に誤りを見つけられた場合はお問い合わせフォームよりご連絡いただけると助かります。
関係ないはずの絞り込みボタンが、全部反応しません
ホテル検索の画面から、使わなくなった部品をひとつ削除しました。表示を整えるだけの、ごく小さな作業のつもりでした。
そのあと画面を触っていて、様子がおかしいことに気づきました。絞り込みのボタンが、どれも反応しません。押しても何も起きない。しかも一つや二つではなく、複数ある絞り込みが全部です。
消したのは、絞り込みとは関係のない部品です。なぜそちらが死ぬのか、最初はまったく分かりませんでした。
準備の処理が、途中で止まっていました
原因は、画面を開いたときに走る準備の処理にありました。
この処理は、画面の部品をひとつずつ拾って、それぞれに「押されたらこう動く」という結び付けをしていきます。上から順番に、まとめて。
私が消した部品は、その並びの前のほうにありました。処理が「その部品を拾おう」としたとき、そこには何もありません。そこでつまずいて、その先の処理が全部走らなくなったわけです。つまずいた後ろに、絞り込みの結び付けが並んでいました。
言われてみれば単純な話です。ただ、画面を消した場所と、動かなくなった場所が離れているので、原因にたどり着くまでが遠回りでした。
「無いかもしれない」を前提に書き直しました
直し方は、つまずいた場所を直すだけでは不十分でした。同じことは他の部品でも起きるからです。
そこで、部品が見つからなかった場合でも、その先へ進める書き方に変えました。無ければ、その部品ぶんの結び付けを飛ばして次へ行く。この準備で扱う部品は、どれも同じ構えにしました。
もうひとつ入れたのが、準備の処理をひとまとめにしないことです。まとめて一列に書いてあると、どこか一箇所のつまずきが全体を巻き込みます。区切って、それぞれが別々に進む形にしておけば、一つのつまずきが他まで巻き込みにくくなります。
学び・「消す」がいちばん危ない作業でした
この一件で、自分の作業の見方が変わりました。
何かを足すときは、慎重になります。新しく書いたところが動くか、必ず確かめます。ところが消すときは、あまり確かめません。「使っていないものを消すだけ」だと思っているからです。
でも実際には、消した部品を、別の処理が当てにしていることがあります。しかも当てにしている側は、たいてい黙って壊れます。足すときは新しい場所が壊れ、消すときは知らない場所が壊れる。 後者のほうが、見つけるのはずっと大変でした。
以来、部品を消したときは、そのページを一通り触ってみるようにしました。消した場所ではなく、関係なさそうな場所を触るのがコツです。今回みたいなことは、たぶんまた起きるので。
それにしても、こういう壊れ方は見た目がいかにも普通なのが厄介です。ボタンは並んでいるし、押せるように見えるし、色も変わります。ただ何も起きない。壊れているのに、壊れている顔をしていない。 開いた人は「反応が悪いのかな」と思ってもう一度押し、それでも動かないので、たぶん黙って閉じます。何も言わずに去られるのがいちばん痛いので、こういう壊れ方こそ早く見つけたいと思いました。
← 他の制作記を見る | トップ | お問い合わせ