わかるってたのしい

Ruby on RailsやJavaScriptをよく使っています。コードを書いていく中で得た知見を残していきます。

処理の流れを意識する

処理の流れを意識するのが大事だと認識した出来事があったので残しておきます。

外部サイトのAPIを叩いてデータを取得してグラフを表示する、ような機能において「グラフの表示内容が合わない」というバグがあったため調査をしました。

僕は「集計のロジックが間違っているのでは?」と直感的に考えて調査しましたが、ある程度時間を使っても間違っている箇所は見つかりませんでした。

それを報告したところ「そもそもAPIから返ってくる値が想定してるものになってる?」と問われて、処理の流れを意識してなかったことに気付きました。

機能の処理の流れは以下です。

  • 外部サイトのAPIを叩く
  • 取得したデータをDBに保存
  • 保存したデータを集計
  • グラフで表示

APIから返ってくる値が想定したものでなければ、その後の処理が全て正しい動きをしていても結果は正しくなりませんね...

デバッグしたところ、想定していたものとは若干違うデータが返ってきていたことが分かりました。

処理の流れを意識するのはこのようなバグ調査だけでなく、新しい処理を追加する時にも大切です。

その処理をどこに追加すると一番変更の影響が少ないのか、その追加した処理を今後に変更した時にいかに影響が少なくできるのか、を考える必要があるからです。

慌てているとすぐに作業を始めたくなりますが、一度立ち止まって考えるようにしていきます。