勉強法(2) 測らないと、分かったことにならない
「分かった」と思った直後に、間違っていたことが何度かありました。
いちばん効いたのは、自分の理解を外から確かめる手順を持つことでした。今回はその話です。
第2回。前回:1つ作り切ると、広く当たる 次回:調べる場所が決まらない時間(近日公開)
このサイトで実際にやった「確かめ方」を3つ。どれも、確かめていなかったら間違ったまま進んでいたものです。
1. 数字を出したら、始まりと終わりを見る
記事の読み進み具合を出すバーを作りました。動いています。そう思っていたら、開いた瞬間の数字が目に入りました。
ページを開いた瞬間に9.5%を指していました。まだ何もしていません。
調べると、計算そのものは正しかった。画面の下端を基準にしていたので、開いた時点で本文の一部がすでに映っていたのです。「画面に映った本文の割合」としては9.5%が正確な値でした。
表示が名乗っていたのは「読み進み具合」です。読み進み具合なら、読み始める前は0のはずでした。
計算間違いではなく、意味のずれです。数字が合っているかを確かめても見つかりません。「0から始まっているか」「最後で100になるか」という、両端を見る確かめ方でしか出てきませんでした。
2. 試した環境が、確かめたい条件を満たしているか
同じ読了判定で、もっと危ない間違いをしました。
ブラウザを自動で動かして、記事を最後までスクロールさせました。読了として記録されません。「記録されない不具合がある」と結論を出しかけました。
念のため、スクロールのイベントが何回起きたかを数えました。
発火回数: 0
自動で動かしているタブでは、スクロールのイベントがそもそも発生していませんでした。不具合が無くても、同じ結果になります。
この時点で分かったのは「読了が記録されない」ではなく、「この方法では確かめられない」ということだけです。
ここで直しにかかっていたら、動いているものを壊していました。試した環境が条件を満たしているかは、結果より先に確かめる必要がありました。
そのあとは、ブラウザで試すのをやめて、実際の寸法を使って計算で確かめました。
3. 原因が分からないときは、半分に割る
コードを含む記事を投稿しようとしたら、サーバーに弾かれました。403が返るだけで、理由は何も出ません。
本文は4500字あります。どこが原因かは分かりません。
そこで、本文を4つに割って1つずつ試しました。
| 試した範囲 | 結果 |
|---|---|
| 1/4ずつ(4回) | 2番目と3番目が弾かれる |
| そのうち1つを8分割 | 2か所に絞れた |
| 怪しい行を単体で | 2つの書き方に特定 |
最終的に、引っかかっていたのは2つの書き方だけだと分かりました。理由を推測せずに済んだのは、割って試したからです。
最初は「コードの記号が多いからだろう」と考えて、記号を別の表記に置き換えました。それでも弾かれました。
置き換えが効かなかったこと自体が情報で、相手が表記を戻してから見ていると分かりました。推測が外れたと分かったのは、確かめる手順があったからです。
確かめ方は、覚えるものではなかった
3つ並べてみると、覚えている知識はほとんど出てきません。
| 場面 | やったこと |
|---|---|
| 数字を出した | 両端の値を見た |
| 試したら失敗した | 試し方が成立しているか数えた |
| 原因が分からない | 範囲を半分に割った |
どれも技術というより手順です。そして3つとも、自分の理解を疑うところから始まっています。
今回の学び
まず、「動いた」は「合っている」ではないということ。進捗バーは最初から最後まで動いていました。動きを見ているかぎり、9.5%から始まっていることには気づけません。
次に、確かめた結果より先に、確かめ方を確かめること。0回しか起きていないイベントを待っていたら、どんな実装でも同じ結果になります。出た結果を信じる前に、その試し方で違いが出るのかを見る必要がありました。
そして、分からないときは推測ではなく分割すること。4500字から2つの書き方まで絞るのに、知識は要りませんでした。要ったのは、半分に割って試す根気だけでした。
この記事を共有する
関連記事

ページを消すとき、一緒に消えるもの
実績とスキルの個別ページをトップページへ統合した。作業はidを付けて2枚消すだけだが、決めることは消すほうに集まっていた。転送・sitemap・アンカーが動かない問題の記録。

ゆっくり読む人ほど、読了にならなかった
読了判定の分母に、フッターや前後記事リンクまで入っていた。本文を読み終えても89.9%。丁寧に読む人ほど読了にならない逆転が起きていた原因と、測ってから直した記録。

測れるもので代用すると、測りたいものから離れる
記事を最後まで読んだ人を数えたいだけでしたが、判定を4回作り直しました。そのたびに別の壊れ方をした経緯と、そもそも何を測ろうとしていたのかを整理します。