【すてっぷすう】

ステップ数 とは?

最終更新:
💡 プログラムの「行数」を数えたもの
📌 このページのポイント
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の略だよ
← 用語集にもどる