[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ステップ数

pointこの用語のポイント

pointプログラムの規模を測る際の目安だよ

pointソースコードの行数だよ

point気休め程度にしかならないよ

スポンサーリンク

簡単に書くよ

ステップ数とは

プログラムの規模を測る際の目安となる指標のひとつ
です。
一般的には

ソースコード(プログラムの元ネタ)の行数のこと
を指します。

image piyo

詳しく書くよ

ソースコードは「人間語で書いたプログラムの元ネタ」ね。
人間語で書いたソースコードは「コンパイル」と呼ばれる作業をすることで、コンピュータさんが動かせるプログラムに変身します。

ステップ数

それを踏まえて「ソースコードの行数」をカッコつけて言った表現が「ステップ数」です。
処理が何行書かれているかを示した数字です。

ステップ数2

ステップ数は、プログラムの規模を測るための指標です。
もしかしたら、ソースコードの行数以外を指標として使う場合があるかもしれませんが、私は知りません。
私の経験上では

ステップ数=ソースコードの行数

です。

とはいえ、行数の数え方には、いろいろなローカルルールがあります。
コメント行を除いたり、改行だけの行を除いたり、他にも独自の数え方があったりします。

例えば、以下の処理は6行です。

if($a == "1")
{
    print "1だよ";
}else {
    print "1じゃないよ";
}


これを単純に「6」と数える場合もあります。
あるいは、2行目の「{」を1行目に含まれる、つまり

if($a == "1"){
    print "1だよ";
}else {
    print "1じゃないよ";
}


と同じだと判断して「5」と数える場合もあります。

基準は結構あいまいです。

よって、ステップ数は気休め程度の指標です。

そもそもの話として、処理の書き方は、1つではありません。
同じ処理を書くのにも、いろいろな書き方があります。

例えば、PHPで書いた以下の3つは、すべて同じ処理です。

if($a == "1")
{
    print "1だよ";
}else {
    print "1じゃないよ";
}


if($a == "1"){print "1だよ";}else {print "1じゃないよ";}

print $a ==1 ? "1だよ" : "1じゃないよ";

1つ目の処理は6行で書かれています。
ステップ数は「6」です。

2つ目、3つ目の処理は1行で書かれています。
ステップ数は「1」です。

それでは、1つ目の処理は、2つ目、3つ目の処理の6倍の規模なのでしょうか?

そんなことは、ありませんよね。

それに、ステップ数を増やすのは比較的簡単です。
わざとらしくない範囲でも、いろいろできます。

例えば

if($a == "1")
{
    print "1だよ";
}else {
    print "1じゃないよ";
}


の処理ですが、ステップ数を増やしたければ、以下のように書けます。

$MSG_OK = "1だよ";
$MSG_NG = "1じゃないよ";
$TARGET_NUM = 1;


if($a == TARGET_NUM)
{
    print $MSG_OK;
}else {
    print $MSG_NG;
}


これだって、無駄に長い書き方とは言えません。

メッセージや比較する数値が変更される際の修正コストを考慮して、定数化して外出しにしています。拡張性を重視しました。

とか適当なことを言っておけば、怒られないはずです。
というか、固定の文言や値を変数化するのは普通です。

如何でしょうか。

print $a ==1 ? "1だよ" : "1じゃないよ";



$MSG_OK = "1だよ";
$MSG_NG = "1じゃないよ";
$TARGET_NUM = 1;

if($a == TARGET_NUM)
{
    print $MSG_OK;
}else {
    print $MSG_NG;
}


は同じ処理ですよ。

他に指標にできそうな要素が少ないので、仕方ない面もありますけどね。
いろいろと操作しやすいので、実情に即しているとは言いにくい指標です。

個人的には、どんな数え方をするにしろ、気休め以外の何物でもないと思っています。

image piyo2

一言でまとめるよ

まぁ「ステップ数」って単語が出てきたら「ソースコードの行数なんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク