【すてっぷすう】

ステップ数 とは?

💡 プログラムの「行数」を数えたもの
📌 このページのポイント
main.py 1 def greet(name): 2 msg = "こんにちは" 3 msg += name 4 return msg 5 6 def calc(x, y): 7 return x + y 8 9 print(greet("田中")) コード(9行) ステップカウンター 9 ステップ(行) LOC = Lines of Code 行数 = 品質ではない 多くても少なくても それだけでは分からない ステップ数はコードの「規模感」。品質の指標にはならない
ステップ数はプログラムの命令行数(LOC)。規模の目安にはなるが、行数だけでは品質は分からない
ひよこ ひよこ

ステップ数って何?

ペンギン先生 ペンギン先生

プログラムの命令が何行あるかを数えた数字だよ。「このシステムは10万ステップある」みたいに使われて、プログラムの規模感をざっくり示すために使われるんだ。

ひよこ ひよこ

ステップ数が多いと良いプログラムなの?

ペンギン先生 ペンギン先生

必ずしもそうじゃないよ。100行でスッキリ書けることを、コピー&ペーストを繰り返して1000行にしてしまうこともある。逆に、1行に詰め込みすぎて読みにくいコードもある。行数だけでは「良いか悪いか」は分からないんだ。

ひよこ ひよこ

じゃあ何で使われてるの?

ペンギン先生 ペンギン先生

規模の目安として分かりやすいからだよ。「先月は5000ステップ書きました」みたいに生産量の報告に使ったり、見積もりの参考にしたりする。完璧な指標じゃないけど、ゼロよりは情報があるってくらいの使い方だね。

ひよこ ひよこ

行数以外にプログラムの複雑さを測る方法ってあるの?

ペンギン先生 ペンギン先生

ちょっとマニアックな話になるけど、「サイクロマティック複雑度(循環的複雑度)」という指標があって、if文やfor文などの分岐・ループの数を数えてプログラムの複雑さを測るんだ。同じ100行のコードでも、分岐が多いほど複雑でバグが出やすくなる。ステップ数はあくまで「長さ」で、サイクロマティック複雑度は「ねじれ具合」を測るイメージ。これを知っているエンジニアは意外と少なくて、行数だけで品質を語る現場もまだまだ多いよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ステップ数」って出てきたら「プログラムが何行あるかを数えた規模感の指標のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「step count / LOC」 = 手順の数・行数
💬 stepは「一歩・一手順」。プログラムの1命令を1ステップと数えることからきている。LOCはLines of Codeの略だよ
← 用語集にもどる