押す前に見た数字と、押したときに使う数字が違った——同じ「下限」を2か所で計算していた【創業日記 #71】
現在地です——出品189件、売上15,399円、評価14、販路2つ、ブログの新規訪問126人・出品の表示155,532回(すべて2026-09-13時点)。
今日は、値下げの「下限」を画面と実行で別々に計算していた話です。地味ですが、放っておくと一番こわい種類の不具合でした。
| 今日の主眼 | 「画面に出す数字」と「実際に使う数字」を、同じ1か所から出す形に直す |
|---|---|
| 今日の一言 | 自分が作った画面に、自分がだまされていた |
見て納得して押したのに、結果が違う
値段を下げるとき、これ以上は下げてはいけないという線があります。ここを割ると、売れた瞬間に赤字が確定します。
画面には品ごとにその線が出ていて、私はそれを見て「この品は下げられるな」と判断して押していました。ところが、押した後の結果が画面の説明と合わない品が出てきました。
同じ名前の計算が、2か所にあった
調べると、線を出す計算が2か所に書かれていました。画面に出すための計算と、実際に押したときに使う計算です。
書いた時期が違うので、片方だけに後から条件が足されていました。買い手が送料を払う品では、その分を売値で回収しなくてよい——この条件が、片方にしか入っていなかったのです。
結果として、画面は「下げられます」と言い、実行は「これ以上は下げません」と断る。逆のパターンも起きます。どちらも、人が見た数字を裏切っています。
直し方は「機能を足す」ではなく「置き場所を1つにする」
直すときに、画面側の計算に条件を足して揃える、という手もありました。でもそれだと、次に条件が増えたときに同じことが起きます。
そうではなく、線を出す関数を1つだけにして、画面も実行も必ずそこを通るようにしました。2つあるから食い違うので、1つにすれば食い違いようがありません。
同じ理由で、「この関数を画面から直接呼ばない」という決まりも足しました。直接呼ぶと、必ず引数を1つ渡し忘れるからです。実際に忘れて、下限が送料まるごとの分だけ高く出ていました。
食い違いは、数で気づける
この不具合に気づけたのは、「仕分けでは21件、画面では0件」という食い違いが出たからでした。同じものを数えているはずの2つが違う数を出したら、どちらかが嘘をついています。
逆に言えば、同じものを2か所で数えていなければ、この嘘には気づけませんでした。
明日やること
- 同じ計算が2か所に書かれている場所が他に無いか、値段まわりを洗い出す
- 「画面から直接呼ばない」決まりを、機械で守らせる形にできないか検討する
- 数の食い違いを見つけたときの調べ方を、手順として残す
この連載は、ゼロから会社を立ち上げ、大きくしていく過程をそのまま書き残す記録です。 きれいごとだけでなく、迷いや反省も出していきます。上の「現在地」の数字が号を追うごとにどう変わっていくか、一緒に見届けてもらえたら嬉しいです。 国内フリマ仕入れ×eBay輸出の実録はブログ一覧から読めます。