0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

急がば回れ! 動かす前に一旦止まれ!「机上チェック」が将来の大事故を防いでくれるかも

0
Posted at

はじめに:今日一番言いたいこと

先に結論から言いますね。

「ソースコードを書いたら、動かす前に必ず机上チェックをしましょう!!」

これ、当たり前のように聞こえるかもしれませんが、今の時代だからこそあえて強く推したい習慣なんです。


PythonやJSの「手軽さ」という罠

最近のメインストリームであるPythonやJavaScript/TypeScriptって、本当に便利ですよね。CやC++、Javaみたいに「重たいコンパイル」を待つ必要がありません。

スクリプトを書いて保存した瞬間に、なんなら保存すら不要で、即実行・即デバッグができてしまいます。
このスピード感は最高なんですけど、その反面、**「とりあえず動かして、エラーが出たら直せばいいや」**という思考に陥りがちじゃないですか?

「一見動いている」の恐怖

「とりあえず動いた!ヨシ!」
……これ、一番危ないやつです。

とりあえず動いてはいるけれど、実は特定の条件でしか通らないロジックだったり、境界値で死ぬコードだったり、しょうもないタイプミスが潜んでいたり……。
こうした「隠れた爆弾」は、リリース直前や、最悪の場合は本番環境でユーザーが触っている時に大爆発します。後から直すコストは、書いているその瞬間に直すコストの何十倍にも膨れ上がります。


歴史に学ぶ:昔のエンジニアは「一発勝負」だった?

ちょっと昔話をしましょう。

はるか昔、コンピュータの利用が今よりずっと高価だった頃、**「コンパイルができるのは週に1回だけ」**なんていう現場もあったそうです。
一回失敗したら次のチャンスは来週。そんな環境では、失敗した時の手戻りがデカすぎて、みんな必死に机上でソースコードを穴が空くほどチェックしていました。

逆に、モダンなWeb開発の世界(HTML/JSなど)では、**「多少間違っていてもブラウザが気を利かせて動かしてくれる」**という文化があります。これはユーザー体験を損なわないための知恵ですが、開発者としては「ミスに気づきにくい」という副作用も生んでいます。

今の時代、僕たちは恵まれています。でも、だからこそ**「あえて立ち止まる」**文化を取り戻すべきだと思うんです。


【保存版】まずはここから!セルフレビューの5つの観点

「机上チェックって言われても、どこを見ればいいの?」という方のために、わたしが意識している簡単なチェックリストを公開します。動かす前に、この5つを自分に問いかけてみてください。

  1. 「正常系」が本当に最後まで通るか?
    途中の if 文の条件は本当に合ってる?戻り値の型は期待通り?

  2. 「もし〇〇だったら?」の意地悪な視点
    データが None/null だったら?リストが空っぽだったら?

  3. その変数名、1ヶ月後の自分に説明できる?
    「マジックナンバー」が直書きされていないか、名前だけで役割が伝わるか。

  4. ログとエラーメッセージは「親切」か?
    万が一バグった時に、どこで何が起きたか具体的にわかるようになっている?

  5. AIやリンターの「赤線」を無視してない?
    ESLintやPyrightの指摘を「まあ動くから」でスルーしていませんか?


AIを「最強のレビュー相手」にするプロンプト例

今の時代、自分一人で唸る必要はありません。ChatGPTやClaude、GeminiなどのAIに「机上レビュー」を手伝ってもらいましょう。コツは**「役割」と「観点」を指定する**ことです。

ロジックの不備を徹底的に叩き出すプロンプト

プロンプト例:
あなたは経験豊富なシニアエンジニアです。以下のコードを、実際に動かす前に「机上レビュー」してください。
【依頼内容】

  1. ロジックに矛盾や考慮漏れがないか確認してください。
  2. 特に「境界値」や「異常系(None/Nullなど)」でエラーにならないか重点的に見てください。
  3. 処理効率(パフォーマンス)で改善できる点があれば指摘してください。

【ソースコード】
(ここに貼り付け)

セキュリティと保守性に特化したプロンプト

プロンプト例:
あなたはセキュリティ専門のエンジニアです。このコードに脆弱性が含まれていないか、また、後から読む人が理解しやすい「保守性の高いコード」になっているかレビューしてください。改善案があれば修正例も提示してください。
【ソースコード】
(ここに貼り付け)

注意: 会社の機密情報やAPIキーは絶対に貼り付けないようにしましょう!


最後に:一呼吸おいて、技術力を上げよう

ソースコードを書き終えて、実行ボタンをポチッと押したくなる気持ち、めちゃくちゃ分かります。

でも、そこをぐっと堪えて、大きく深呼吸。
一旦動かす前に、机上でチェックをしてみてください。

これを繰り返すだけで、バグが減るだけでなく、コードの「読み」が深くなり、確実に技術力が上がります。
さあ、次のコミットの前に、まずは「机上チェック」から始めてみませんか?

最後まで読んでくださりありがとうございました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?